--oracle 存储过程返回数据集/游标简单实例(通过输出观察游标值)

--oracle 存储过程返回数据集/游标简单实例(通过输出观察游标值)


--1.创建测试库表
creat table cs_dd(
ddbz varchar2(32),
zt   varchar2(32)
);


--2.往测试库表插入测试数据:
insert into cs_dd(ddbz,zt) values ('a','1');
insert into cs_dd(ddbz,zt) values ('b','1');
insert into cs_dd(ddbz,zt) values ('c','1');
insert into cs_dd(ddbz,zt) values ('d','2');
commit;--提交,不提交则没有真正插入


--3.创建测试存储过程
create or replace procedure test_cur(a in varchar2,b_cur out sys_refcursor ) as 
ddbz varchar2(32);--游标返回字段
zt   varchar2(32);--游标返回字段
begin
open b_cur for select d.ddbz,d.zt from cs_dd d where d.zt=a --打开游标,根据传入参数,定义游标值
fetch b_cur into ddbz,zt;--开始把游标值赋予给变量
while b_cur%found --游标循环判断标志,有数据则往下执行
loop 
dbms_output.put_line(bbdz||','||zt);
fetch b_cur into ddbz,zt;--游标下移,并赋值给变量
end loop;
close b_cur;--关闭游标
end;




--操作流程说明:
1)按步骤执行1 ,2, 3 
2)在存储过程执行调试,往测试窗口输入a变量值
3)点击测试按钮,一边点击单步进入按钮,一边点击DBMS输出,观察输出值

你可能感兴趣的:(--oracle 存储过程返回数据集/游标简单实例(通过输出观察游标值))