首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

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

2013-03-26 
Oracle存储过程如何返回数据集create or replace procedure AA_SXJTEST isout_gg number(8)beginselect i

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…

热点排行