Oracle游标的打开与关闭

来源:北大青鸟飞迅校区|发布时间:2013-05-04 10:14:13

以下的内容是对Oracle游标的介绍。以Oracle显示游标为主,本文讲述了如何打开Oracle游标,以及想关的实际操作,如果你对其相关的实际操作有兴趣了解的话,以下的文章将会给你提供相关的知识。

打开Oracle游标

使用游标中的值之前应该首先dewengz打开游标,打开游标初始化查询处理。打开游标的语法是:

1.OPEN cursor_name

cursor_name是在声明部分定义的游标名。

例:

1.OPEN C_EMP;

关闭Oracle游标

语法:

1.CLOSE cursor_name

例:

1.CLOSE C_EMP;

关闭Oracle游标

从游标得到一行数据使用FETCH命令。每一次提取数据后,游标都指向结果集的下一行。语法如下:

1.FETCH cursor_name INTO variable[,variable,。..]

对于SELECT定义的Oracle游标的每一列,FETCH变量列表都应该有一个变量与之相对应,变量的类型也要相同。

例:

1.SET SERVERIUTPUT ON

2.DECLARE

3.v_ename EMP.ENAME%TYPE;

4.v_salary EMP.SALARY%TYPE;

5.CURSOR c_emp IS SELECT ename,salary FROM emp;

6.BEGIN

7.OPEN c_emp;

8.FETCH c_emp INTO v_ename,v_salary;

9.DBMS_OUTPUT.PUT_LINE(‘Salary of Employee’|| v_ename

10.||‘is’|| v_salary);

11.FETCH c_emp INTO v_ename,v_salary;

12.DBMS_OUTPUT.PUT_LINE(‘Salary of Employee’|| v_ename

13.||‘is’|| v_salary);

14.FETCH c_emp INTO v_ename,v_salary;

15.DBMS_OUTPUT.PUT_LINE(‘Salary of Employee’|| v_ename

16.||‘is’|| v_salary);

17.CLOSE c_emp;

18.END

这段代码无疑是非常麻烦的,如果有多行返回结果,可以使用循环并用Oracle游标属性为结束循环的条件,以这种方式提取数据,程序的可读性和简洁性都大为提高,下面我们使用循环重新写上面的程序:

1.SET SERVERIUTPUT ON

2.DECLARE

3.v_ename EMP.ENAME%TYPE;

4.v_salary EMP.SALARY%TYPE;

5.CURSOR c_emp IS SELECT ename,salary FROM emp;

6.BEGIN

7.OPEN c_emp;

8.LOOP

9.FETCH c_emp INTO v_ename,v_salary;

10.EXIT WHEN c_emp%NOTFOUND;

11.DBMS_OUTPUT.PUT_LINE(‘Salary of Employee’|| v_ename

12.||‘is’|| v_salary);

13.END

上述的相关内容就是对Oracle游标的具体操作的描述,希望会给你带来一些帮助在此方面。

上一篇:两个有用的Oracle数据库运算
下一篇:详解用批处理写一个Oracle备份工具

热门话题

招生热线: 4008-0731-86 / 0731-82186801

学校地址: 长沙市天心区团结路6号

Copyright © 2006 | 湖南大计信息科技有限公司 版权所有

湘ICP备14017520号-3

关注我们
在线咨询
嘿,我来帮您!