Oracle过程引用游标

Oracle过程引用游标,oracle,stored-procedures,cursor,Oracle,Stored Procedures,Cursor,我有以下Oracle程序: create or replace PROCEDURE TEST ( p_ResultSet OUT INFMTTO_CURSOR.cursorType ) AS BEGIN OPEN p_ResultSet FOR SELECT * FROM V_INFOMTTO_P1_SITES; END TEST; 声明游标的包: create or replace PACKAGE INFMTTO_CURSOR AS type cu

我有以下Oracle程序:

create or replace PROCEDURE TEST  

(
p_ResultSet        OUT  INFMTTO_CURSOR.cursorType
)

AS

BEGIN
  OPEN p_ResultSet FOR
  SELECT *
  FROM V_INFOMTTO_P1_SITES;
END TEST;
声明游标的包:

create or replace PACKAGE INFMTTO_CURSOR AS 
  type cursorType is ref cursor;  
END INFMTTO_CURSOR;
如果我使用以下行调用SQL developer中的过程:

exec TEST 
结果是空的。?你能帮我吗?我如何通过EXEC函数获得表格结果


非常感谢

您需要定义一个
refcursor
来接收数据。试试这个:

var r refcursor;
execute TEST( :r );
print :r;

祝你好运

您不必显式定义,有一个预定义的类型,只需使用
p\u ResultSet OUT SYS\u REFCURSOR