0

ストアド プロシージャを実行するジョブがあります。プロシージャには日付パラメータがあります。時間/分は重要です。ただし、次のように引数値を設定した後:

dbms_scheduler.set_job_argument_value(job_name =>  jobName, argument_position => 1, argument_value => deadline);

プロシージャ内では、パラメーターには日付のみが含まれます (0 時間、0 分、0 秒)。グーグルで調べた後、argument_valuevarcharが期待されているためだと考えたので、次のように値を渡してみました:

  dbms_scheduler.set_job_argument_value(job_name =>  jobName, argument_position => 1, argument_value => TO_CHAR(deadline, 'MM/DD/YYYY HH24:MI:SS'));

しかし、今では手順がまったく実行されていないようです。時間と分を失うことなく日付をジョブに渡す正しい方法は何ですか?

4

1 に答える 1

1

ここで質問する前に、もう少しグーグルで検索する必要がありました... varchar 以外の引数には別の手順があることがわかりました。

    dbms_scheduler.set_job_anydata_value(job_name =>  jobName, argument_position => 1, argument_value => sys.anyData.convertDate(deadline));

このようにして、すべてが正常に機能します。

于 2013-11-08T16:53:18.117 に答える