易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle PL SQL学习案例(二)

【训练6.1】 使用隐式游标的属性,判断对雇员工资的修改是否成功。
步骤1:输入和运行以下程序:
BEGIN
  UPDATE emp SET sal=sal+100 WHERE empno=1234;
  IF SQL%FOUND THEN
       DBMS_OUTPUT.PUT_LINE('成功修改雇员工资!');
       ROLLBACK;
  ELSE
       
        DBMS_OUTPUT.PUT_LINE('修改雇员工资失败!');
  END IF;
END;
  运行结果为:
  修改雇员工资失败!
  PL/SQL 过程已成功完成。
  步骤2:将雇员编号1234改为7788,重新执行以上程序:
  运行结果为:
  成功修改雇员工资!
  PL/SQL 过程已成功完成。
  说明:本例中,通过SQL%FOUND属性判断修改是否成功,并给出相应信息。
=================================================================
【训练7.1】  用游标提取emp表中7788雇员的名称和职务。
DECLARE   
  v_ename VARCHAR2(10);
  v_job VARCHAR2(10);
  CURSOR emp_cursor IS
  SELECT ename,job from emp WHERE empno=7788;
BEGIN
    OPEN emp_cursor;
    FETCH emp_cursor INTO v_ename,v_job;
    DBMS_OUTPUT.PUT_LINE(v_ename||','||v_job);
    CLOSE emp_cursor;
END;
  执行结果为:
  SCOTT,ANALYST
  PL/SQL 过程已成功完成。?
  说明:该程序通过定义游标emp_cursor,提取并显示雇员7788的名称和职务。
  作为对以上例子的改进,在以下训练中采用了记录变量。
================================================================
  【训练7.2】  用游标提取emp表中7788雇员的姓名、职务和工资。
DECLARE
  CURSOR emp_cursor IS  SELECT ename,job,sal from emp WHERE empno=7788;
  emp_record emp_cursor%ROWTYPE;
BEGIN
    OPEN emp_cursor;   
    FETCH emp_cursor INTO emp_record;
    DBMS_OUTPUT.PUT_LINE(emp_record.ename||'


相关文档:

简要介绍SQL Server 2008新的事件处理系统

SQL Server Extended Events(下面简称XEvent)是SQL Server 2008里新加的事件处理系统,用来取代SQL Server原
先的SQL Trace的跟踪机制。事件处理系统对一个复杂服务器系统的排错,调试是极为关键的。和SQL Server原来的事
件处理系统相比较,XEvent具有下列的优势:
  消耗更少的系统资源,更适用于在产品服务器上的 ......

关于myeclipse中的DB Browser连接Oracle数据库的问题

我的myeclipse是6.5版, oracle是10.2.0.1的中文版.
   myeclipse启动是英文的,DB Browser死活连不上oracle,报两个错误(具体不记得了).后来看了如下文章,知道了原因。
---------------------------------------------------------------------------------------------------------------------------
Hi,
a ......

一次oracle support的危机现场处理(之二)

天有不测风云,
IBM 的中端磁盘阵列这次又惹祸了。在微码升级的时候,
DS4800 发生故障。导致当时在这台库上的几套生产库报错了。
IBM工程师把阵列故障恢复后,拍拍屁股走人,阵列上的数据又得我们来想办法抢救了。。。。
还好有oracle support的支持我们最终化解了这次危机。下文详细介绍了整个恢复的过程。
oracle工 ......

Oracle_获取最新日期的数据

数据库数据
ID
UserName
Date
1
User1
2010/4/27
1
User1
2010/4/11
1
User1
2010/4/1
要求:
获取最新日期的一条数据
Sql语句:
 select t.* from tb t where date = (select max(date) from tb where id = t.id) order by t.id ......

Oracle 多行转列函数

Oracle中使用WMSYS.WM_CONCAT函数进行多行转列
原数据:
rank   name 
AA      NAME1
AA      NAME2
AA      NAME3 
BB      NAME4
BB      NAME5
SQL>select  trim(t.rank) as rank,
   &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号