2015-09-24 54 views
0

我有这样的Oracle过程: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开发的步骤,使用这一行:

exec TEST 

结果为空。 ¿你能帮助我吗?,我怎么能通过EXEC函数来获得表结果?

非常感谢

+0

您不必明确定义,有一个预定义类型,只需使用'p_ResultSet OUT SYS_REFCURSOR' –

回答

0

您需要定义一个refcursor才能收到您的数据。试试这个:

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

祝你好运!