oracle 存储过程 返回数据集
场景:
Oracle存储过程如何返回数据集
create or replace procedure AA_SXJTEST is
out_gg number(8);
begin
select id into out_gg from t_gzgl_zxjr_list where id=423; --查出来的只有一条记录
DBMS_OUTPUT.put_line('out_gg变量的值=:'||out_gg);
end AA_SXJTEST;
--命令窗口去执行的话,我可以看到结果,如下
SQL> set serverout on;
SQL> exec AA_SXJTEST;
表的数据量为:423
--**************我想问的是***************
create or replace procedure AA_SXJTEST is
out_gg ????;
--如果用下面的查询的话,这里的参数应该定义成什么,然后我怎样才可以到命令窗口里去看到这个参数的结果
begin
select id into out_gg from t_gzgl_zxjr_list; --查出来的是一个数据集
end AA_SXJTEST;
------解决方案--------------------
可以用游标输出
Oracle存储过程如何返回数据集
create or replace procedure AA_SXJTEST is
out_gg number(8);
begin
select id into out_gg from t_gzgl_zxjr_list where id=423; --查出来的只有一条记录
DBMS_OUTPUT.put_line('out_gg变量的值=:'||out_gg);
end AA_SXJTEST;
--命令窗口去执行的话,我可以看到结果,如下
SQL> set serverout on;
SQL> exec AA_SXJTEST;
表的数据量为:423
--**************我想问的是***************
create or replace procedure AA_SXJTEST is
out_gg ????;
--如果用下面的查询的话,这里的参数应该定义成什么,然后我怎样才可以到命令窗口里去看到这个参数的结果
begin
select id into out_gg from t_gzgl_zxjr_list; --查出来的是一个数据集
end AA_SXJTEST;
------解决方案--------------------
可以用游标输出
- SQL code
create or replace procedure AA_SXJTEST is out_gg number(8); cursor v_cur is select id from t_gzgl_zxjr_list begin open v_cur; fetch v_cur into out_gg; while v_cur %found loop DBMS_OUTPUT.put_line('out_gg变量的值=:'||out_gg); fetch v_cur into out_gg; end loop; close v_cur; end AA_SXJTEST;
------解决方案--------------------