oracle实现存储过程返回查询结果集合的方法

--实现存储过程返回查询结果集合的方法 ,以下代码来自网络整理
http://topic.csdn.net/u/20090721/12/ba403739-3212-4016-83ec-2a7062f21081.html

--第一种方法
create or replace Package SYSBasic
as
  type cc_cursor is ref cursor;
end SYSBasic;

CREATE OR REPLACE PROCEDURE getall(
    c_CurSor OUT SYSBASIC.cc_CURSOR  --光标结果
)
begin
  open c_CurSor For
    select * from table1;
end getall;


--第二种方法
create or replace procedure p_test(p_cur out sys_refcursor)as 
begin 
   open p_cur for select  * from emp;
end p_test;


在sqlplus界面:
 SQL> var r refcursor;
 SQL> exec p_test(:r);
 SQL> print r;

你可能感兴趣的:(oracle)