当前位置: 代码迷 >> Oracle管理 >> Oracle存储过程怎么返回数据集
  详细解决方案

Oracle存储过程怎么返回数据集

热度:43   发布时间:2016-04-24 05:01:51.0
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_listbegin   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;
------解决方案--------------------
引用楼主 suxujie 的帖子:
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…
  相关解决方案