好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

详解Oracle隐式游标和显式游标

游标是什么?就是在内存开辟的一块临时存储空间。

1.Oracle隐式游标

1.1Oracle有常用的哪些隐式游标

1.2 Oracle隐式游标演示

?

1

2

3

4

5

6

7

8

9

10

11

12

13

-- 隐式游标 (使用的表为Oracle默认自带的emp表)

-- sql%rowcount:影响记录条数  sql%found:是否有满足条件的记录

set serveroutput on ;

declare

v_ename a_emp.ename%type;

begin

select ename into v_ename from a_emp where empno=7788;

if sql%found then

   dbms_output.put_line(v_ename);

   dbms_output.put_line(sql%rowcount);

end if;

end ;

/

因此,我们所有都数据库的操作都是存在游标的。

--------------------------------------------------------------------------------

2.Oracle显式游标

2.1显式游标语法

cursor 游标名称  is 选择语句;

2.2Oracle显式游标演示

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

-- 显式游标

declare

   -- 创建一个游标

   cursor cursor_a_emp is select empno,ename from a_emp;

   -- 其他变量

   v_empno a_emp.empno%type; --员工编号

   v_ename a_emp.ename%type; --员工姓名

   v_rowcount number;    -- 员工人数

begin

   -- 打开游标

   open cursor_a_emp;

   -- 计算游标中存储记录的条数

   select count (*) into v_rowcount from emp;

   -- 循环取出游标中的数据

   for i in 1..v_rowcount loop

   fetch cursor_a_emp into v_empno,v_ename;

     dbms_output.put_line(v_empno);

     dbms_output.put_line(v_ename);

     dbms_output.put_line( '=============================' );

   end loop;

   -- 关闭游标

   close cursor_a_emp;

end ;

/

游标就是相当于一个临时表,并将这个表存储在内存中,使用完了就会释放掉。

2.3显式游标属性

以上所述是小编给大家介绍的Oracle隐式游标和显式游标知识,希望对大家有所帮助,如果大家有任何问题欢迎给我留言,小编会及时回复大家的!

原文链接:http://blog.csdn.net/baidu_37107022/article/details/74858490

查看更多关于详解Oracle隐式游标和显式游标的详细内容...

  阅读:26次