语法:
--游标声明,定义游标 CURSOR cursor_name IS select_statement;
--打开游标 --打开游标的作用是执行查询,并获得活动数据集。 OPEN cursor_name; --从游标中获取(Fetch)数据
--将游标的当前行值取到变量中去
--变量应当与游标中的各个变量一一对应
FETCH cursor_name INTO [variable1, variable2, ...]
| record_name]; --在结束处理行后,关闭游标.
--如果需要的话,可以重新打开数据行 --一旦一个游标被关闭了,就不能试图从游标中获取数据. CLOSE cursor_name; 例子: declare
-- 声明游标
cursor cur_items is
select e.ename,e.job,e.sal
from emp e;
v_items cur_items%rowtype;
begin
--打开游标
open cur_items;
loop
--从游标中获取(fetch)数据
fetch cur_items
into v_items;
exit when cur_items%notfound;
dbms_output.put(v_items.ename||' ');
dbms_output.put(v_items.job||' ');
dbms_output.put_line(v_items.sal);
end loop;
if cur_items%isopen then
--关闭游标
close cur_items;
end if;
end; |