动态游标。引用游标
declare
type RefEmpCur is ref cursor;
empCur RefEmpCur;
empRow emp%rowtype;
flag int := 0;
begin
flag := &flag;
if flag = 0 then
open empCur for select * from emp where sal > 500 and sal < 1000;
elsif flag = 1 then
open empCur for select * from emp where sal > 1000;
else
open empCur for select * from emp;
end if ;
/* 由于for循环会自动打开游标,所以不能使用
for empRow in empCur loop
dmbs_output.put_line(empRow.empno);
end loop;
*/
loop
fetch empcur into empRow;
dbms_output.put_line('empno :'||empRow.empno);
exit when empCur%notfound;
end loop;
dbms_output.put_line(empCur%rowCount);
close empCur;
end;
/
博客展示了动态游标和引用游标的使用。通过定义引用游标类型,根据不同条件打开游标查询员工表,使用循环遍历游标结果并输出员工编号,最后关闭游标。体现了在不同条件下灵活使用游标进行数据查询的方法。
932

被折叠的 条评论
为什么被折叠?



