我已將Oracle數據庫從10g遷移到12c。從12c開始,oracle不支持PLSQL_V2_COMPATIBILITY參數。PLSQL_V2_COMPATIBILITY兼容性
此參數用於: https://www.safaribooksonline.com/library/view/oracle-database-administration/1565925165/re157.html
一個在上述URL中的突出顯示點的是:要在表達在一些使用 上下文
的PL/SQL編譯器將允許OUT參數例如,在賦值語句右側 的點限定名稱中。此行爲受限於 到OUT參數的字段,這些記錄是在SELECT語句的FROM列表中引用的OUT參數 。
由於此更改,我們的許多軟件包出現了錯誤,以前使用帶有記錄的功能作爲輸出參數。
CREATE OR REPLACE Package SJMUSER.nagendra AS
TYPE r_standard_url IS RECORD (
v_loginurl VARCHAR2(1000),
v_changepasswordurl VARCHAR2(1000),
v_newloginurl VARCHAR2(1000)
);
TYPE t_standardurl_tbl IS TABLE OF r_standard_url
INDEX BY BINARY_INTEGER;
t_standardurlstype t_standardurl_tbl;
FUNCTION Producestandardurls
(
tp_myuserid IN USERS.User_Id%TYPE,
v_scrntime IN VARCHAR2,
v_scrntoken IN VARCHAR2,
v_wwikey IN VARCHAR2
)
RETURN t_standardurlstype;
end nagendra;
/
錯誤:
PLS-00488 't_standardurlstype' 必須是類型。
是否需要整個代碼更改?像不使用記錄作爲輸出參數?是否有任何解決方案?
謝謝亞歷克斯。很好的解釋。 –