暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle 中 游标简介

原创 Oracle 2022-09-14
425

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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论