2017-08-01 44 views
0

如何將Ref Cursor作爲參數傳遞給存儲過程?如何將Ref遊標作爲參數傳遞給存儲過程?

我想調用一個需要光標作爲參數的存儲過程。在存儲過程中使用的遊標作爲out參數。存儲過程和遊標都在包中定義。

如何通過傳遞光標來調用存儲過程? 請用示例說明

這個程序和光標是怎麼寫的。

PACKAGE company 
IS 

/* Define the REF CURSOR type. */ 
TYPE curvar_type IS REF CURSOR RETURN company%ROWTYPE; 

/* Stored Procedure Impl */ 
PROCEDURE open_company (curvar_out OUT company.curvar_type) IS 
BEGIN 
    ... 
END; 
END package; 

在此先感謝。

回答

1

該過程的參數是一個out參數 - 您不需要將光標傳遞給過程,因爲過程的效果是將光標傳出(不在)中。

所以,你可以得到輸出光標這樣的:

DECLARE 
    cur COMPANY.CURVAR_TYPE; 
BEGIN 
    company.open_company(cur); 
    -- do something with the cursor. 
END; 
/
相關問題