次のコードは動作しません。これはコンパイルされますが、parm_value
パラメータとしてsysdateを呼び出すと、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);'しかし、私はsysdateに対して 'TO_DATE( '20020315'、 'yyyymmdd')'を試みました。同じ問題。 – JDro04
'gorsdav'カラムと' var_frb_grnt_code'(?)変数の完全なデータ型を含めるように質問を編集できますか? –