1
在這裏,我已經在Oracle中的存儲過程:什麼傳遞的SYS_REFCURSOR參數
CREATE OR REPLACE PROCEDURE StP_COMPS
IS
CV_1 SYS_REFCURSOR;
BEGIN
OPEN CV_1 FOR SELECT * FROM COMPUTERS;
END;
當我執行像EXEC SP_COMPS的過程我沒有得到任何錯誤,SQL Developer中只顯示「ananymous塊已完成」。然後我將程序更改爲
CREATE OR REPLACE PROCEDURE SP_COMPS
(cv_1 OUT SYS_REFCURSOR)
IS
BEGIN
OPEN CV_1 FOR SELECT * FROM COMPUTERS;
END;
當我執行時出現錯誤,指出參數類型的數量是錯誤的。我很好奇,如果它只是一個輸出參數,我可以作爲參數發送給過程。我想要在程序中獲得運行查詢的結果集。我在這裏做錯了什麼?
P.S.當我嘗試通過右鍵單擊程序並選擇Run來運行程序,我得到:
DECLARE
CV_2 sys_refcursor;
BEGIN
SP_COMPS(
CV_2 => CV_2
);
:CV_2 := CV_2; -- <--Can't understand this part
END;