我有下面的代碼不起作用。它會編譯,但是如果使用sysdate作爲parm_value
參數調用,則它將引發PLS-00307: too many declarations of 'P_UPSERT_SDE_DATA' match this call
如果我註釋掉varchar2條目,則重載將按照預期的那樣僅使用日期和數字數據類型。用DATE和VARCHAR2重載oracle過程
什麼是最好的方式去我想要做什麼,這是接受參數只有在parm_values數據類型(特別是日期和varchar2)不同?
PROCEDURE P_Upsert_SDE_Data(parm_table_name GORSDAV.GORSDAV_TABLE_NAME%TYPE,
parm_attr_name GORSDAV.GORSDAV_ATTR_NAME%TYPE,
parm_key GORSDAV.GORSDAV_PK_PARENTTAB%TYPE,
parm_user_id GORSDAV.GORSDAV_USER_ID%TYPE,
parm_value VARCHAR2);
--
PROCEDURE P_Upsert_SDE_Data(parm_table_name GORSDAV.GORSDAV_TABLE_NAME%TYPE,
parm_attr_name GORSDAV.GORSDAV_ATTR_NAME%TYPE,
parm_key GORSDAV.GORSDAV_PK_PARENTTAB%TYPE,
parm_user_id GORSDAV.GORSDAV_USER_ID%TYPE,
parm_value NUMBER);
PROCEDURE P_Upsert_SDE_Data(parm_table_name GORSDAV.GORSDAV_TABLE_NAME%TYPE,
parm_attr_name GORSDAV.GORSDAV_ATTR_NAME%TYPE,
parm_key GORSDAV.GORSDAV_PK_PARENTTAB%TYPE,
parm_user_id GORSDAV.GORSDAV_USER_ID%TYPE,
parm_value DATE);
那麼,你怎麼稱呼程序? –
'UTL_SDE.p_Upsert_SDE_Data('FRBGRNT','GRANT_END_DATE',var_FRBGRNT_CODE,'BANNER_GAS_SYNS',SYSDATE);'但是我已經嘗試了''TO_DATE('20020315','yyyymmdd')'sysdate。同樣的問題。 – JDro04
您可以編輯問題以包含'gorsdav'列和'var_frb_grnt_code'(?)變量的完整數據類型嗎? –