9.6、游标
一、含义
游标是用来操作查询结果集,相当于是JDBC中ResultSet,它可以对查询的结果一行一行的获取
二、语法
--第一步:定义游标
--第一种:普通游标
cursor 游标名[(参数 参数类型)] is 查询语句;
--第二种:系统引用游标
游标名 sys_refcursor;
--第二步:打开游标
--第一种:普通游标
open 游标名[(参数 参数类型)];
--第二种:系统引用游标
open 游标名 for 查询语句;
--第三步:获取一行
fetch 游标名 into 变量;
--第四步:关闭游标
close 游标名;
三、演示
1、普通游标使用
--输出指定部门下的员工姓名和工资
declare
--1.声明游标
cursor vrows(dno number) is select * from emp where deptno = dno;
--声明变量
vrow emp%rowtype;
begin
--2.打开游标
open vrows(10);
--3.循环遍历
loop
fetch vrows into vrow;
exit when vrows%notfound;
dbms_output.put_line('姓名:' || vrow.ename || ' 工资: ' || vrow.sal);
end loop;
--4.关闭游标
close vrows;
end;
2、系统引用游标使用
--输出员工表中所有的员工姓名和工资
declare
--1.声明系统引用游标
vrows sys_refcursor;
--声明变量
vrow emp%rowtype;
begin
--2.打开游标
open vrows for select * from emp;
--3.循环遍历
loop
fetch vrows into vrow;
exit when vrows%notfound;
dbms_output.put_line('姓名:' || vrow.ename || ' 工资: ' || vrow.sal);
end loop;
--4.关闭游标
close vrows;
end;
3、使用for循环输出
--输出员工表中所有的员工姓名和工资
declare
cursor vrows is select * from emp;
begin
--自动定义变量vrow,自动打开游标,自动关闭游标
for vrow in vrows loop
dbms_output.put_line('姓名:' || vrow.ename || ' 工资: ' || vrow.sal || '工作:' || vrow.job);
end loop;
end;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




