--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;--开始把游标值赋予给变量
--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;--开始把游标值赋予给变量