我想使用SQL Developer調用Oracle存儲過程。 proc使用sys_refcursor輸出結果。我右鍵單擊進入運行PL/SQL窗口的proc窗口。當我選擇proc時,我希望它爲我創建所有輸入參數等。下面是我用來通過sys_refcursor循環並輸出結果的代碼,但是我在'v_rec v_Return%rowtype'中得到一個錯誤;'行:來自SQL Developer的Oracle存儲過程的輸出結果
ORA-06550:第6行第9列: PLS-00320:此表達式類型的聲明不完整或格式錯誤。 ORA-06550:行6列9: PL/SQL:項目被忽略
供應商代碼6550
我發現一對夫婦的其他網站上的循環代碼,它似乎是做到這一點的方式,但無論我嘗試什麼,它都不適合我。另一個問題 - 關於DBMS_OUTPUT.PUT_LINE('name ='|| v_rec.ADM),我是否正確引用了v_rec,即v_rec。「column_name」的正確方法?
我不是那種習慣於Oracle並從未使用SQL plus的人。任何建議感激。
DECLARE
P_CAE_SEC_ID_N NUMBER;
P_PAGE_INDEX NUMBER;
P_PAGE_SIZE NUMBER;
v_Return sys_refcursor;
v_rec v_Return%rowtype;
BEGIN
P_CAE_SEC_ID_N := NULL;
P_PAGE_INDEX := 0;
P_PAGE_SIZE := 25;
CAE_FOF_SECURITY_PKG.GET_LIST_FOF_SECURITY(
P_CAE_SEC_ID_N => P_CAE_SEC_ID_N,
P_PAGE_INDEX => P_PAGE_INDEX,
P_PAGE_SIZE => P_PAGE_SIZE,
P_FOF_SEC_REFCUR => v_Return
);
-- Modify the code to output the variable
-- DBMS_OUTPUT.PUT_LINE('P_FOF_SEC_REFCUR = ');
loop
fetch v_Return into v_rec;
exit when v_Return%notfound;
DBMS_OUTPUT.PUT_LINE('name = ' || v_rec.ADM);
end loop;
END;