[size=large]
/*
游标
定义:cursor 游标名 is select 语句
*/
declare
mysal emp.sal%type;
cursor mycursor is
select * from emp where sal > mysal;
records mycursor%rowtype; --记录型变量
myname emp.ename%type;
begin
mysal := 2000;
/*
打开游标
1,将符合条件的记录送往内存
2,将游标的指针移到第一条记录
*/
open mycursor;
/*
提取游标中的数据
语法:fetch 游标名 into 变量1,变量2....
或者 fetch 游标名 into 记录型变量.
*/
fetch mycursor into records;
/*
%found:判断游标的上一条记录是否有数据
*/
/*
if mycursor%found then
dbms_output.put_line(records.empno);
else
dbms_output.put_line('没有发现数据');
end if;
*/
/*
%notfound:判断游标的上一条记录是否没数据,一般用于退出循环
*/
/*
while mycursor%notfound loop
dbms_output.put_line(records.empno);
end loop;
*/
/*
%rowcount:判断游标的数据的行数
*/
dbms_output.put_line(mycursor%rowcount);
close mycursor;
end;[size=large][/size]
[/size]