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;
------解决方案--------------------