pl/sql游标

通过游标,我们可以取得返回结果集的任何一行记录,提高效率。

定义游标:

type 游标名 is ref cursor

变量名 游标名

打开游标:

open 游标变量 for select语句;

取出当前游标指向的行:

fetch 游标变量 into 其它变量;

判断游标是否指向最后记录:

游标变量%nofound

案例:编写一个pl/sql过程,要求输入部门号,并显示该部门所有员工和姓名和工资

create or replace procedure pro1(v_in_deptno in number)
is
--先定义一个游标变量类型
type emp_cursor is ref cursor;
--定义一个游标变量
v_emp_cursor emp_cursor;
--定义两个变量
v_ename emp.ename%type;
v_sal emp.sal%type;
begin
open v_emp_cursor for select ename,sal from emp where deptno=v_in_deptno;
--取出游标指向的数据
loop
fetch v_emp_cursor into v_ename,v_sal;
--游标到达最后时退出
exit when v_emp_cursor%notfound;
dbms_output.put_line(用户名 ||v_ename|| 工资 ||v_sal);
end loop;
--关闭游标
close v_emp_cursor;
end;

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。