2015-09-24 77 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; 

祝你好運!