--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(b
--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(b

本文提供了一个Oracle存储过程返回数据集和游标的简单实例,包括创建测试表、插入数据、创建存储过程及操作流程说明。通过调用存储过程并传入参数,可以观察到游标返回的数据。
&spm=1001.2101.3001.5002&articleId=80435295&d=1&t=3&u=949a810f5ddb406fbdb3c617ff79fec1)
3495

被折叠的 条评论
为什么被折叠?



