第四章 游标的使用

–关于 loop 的游标使用:
declare
cursor c_emp is
select empno,ename from emp;
v_empno emp.empno%type;
v_ename emp.ename%type;
begin
–先打开游标
open c_emp;

loop
fetch c_emp into v_empno,v_ename;
exit when c_emp%notfound; –最后一次取到值就输出,没有就跳出循环
dbms_output.put_line(v_empno||’===’||v_ename);
end loop;
–最后关闭游标
close c_emp;
end;

–关于 while 的游标使用:
declare
cursor c_emp is
select empno,ename from emp;
v_empno emp.empno%type;
v_ename emp.ename%type;
begin
–先打开游标
open c_emp;
–提取第一行信息给变量
fetch c_emp into v_empno,v_ename;
while c_emp%found loop
dbms_output.put_line(v_empno||’===’||v_ename);
–提取下一行信息给变量
fetch c_emp into v_empno,v_ename;
end loop;
–最后关闭游标
close c_emp;
end;

–关于 for 的游标使用:不需要打开和关闭游标
declare
cursor c_emp is
select empno,ename from emp; –不能有重复的列名,要起别名,和视图一样
v_emp emp%rowtype;
begin

for v_emp in c_emp loop
dbms_output.put_line(v_emp.empno||’===’||v_emp.ename);–变量名.列名
end loop;

end;

猜你喜欢

转载自blog.csdn.net/weixin_42800008/article/details/81270460