在 PL/SQL 程序中对于处理多行记录的事务经常使用光标来实现
一显式光标在PL/SQL程序中定义的光标称作显式光标
显式光标处理需四个 PL/SQL步骤:
cursor 光标名称 is 查询语句;
open 光标名称;
Fetch 光标名称 into 变量列表;
Close 光标名称;
示例
declare
cursor c is
select ename sal from emp where rownum<;
v_ename varchar();
v_sal number();
begin
open c;
fetch c into v_ename v_sal;
while c%found
loop
dbms_outputput_line(v_ename||to_char(v_sal) );
fetch c into v_ename v_sal;
end loop;
close c;
end;
二隐式光标
所有的SQL 语句在上下文区内部都是可执行的因此都有一个光标指向上下文区此光标就是所谓的SQL光标(SQL cursor)与显式光标不同SQL 光标不被程序打开和关闭
三光标循环
在高级语言编程和 PL/SQL 编程中经常使用提取循环(fetch loop) 来实现逐行提取所需数据的方法