私はOracle12cを使用しています。 DBMS_SCHEDULERを使用して毎分プロシージャを実行しています。私は、各実行で現在の日時(SYSDATE)でこのプロシージャに1つの引数を渡します。Oracle DBMS_SCHEDULER sysdate引数
しかし、この引数は、ジョブを作成するときに1回だけ評価されます。その後、連続して実行されるたびに、引き数の値は常に同じになります(ジョブの作成日)。
-- procedure signature
test_proc(v_aud_date in date);
-- scheduler_job
begin
dbms_scheduler.create_job (
job_name => 'test_JOB'
, job_type => 'STORED_PROCEDURE'
, job_action => 'test_proc'
, number_of_arguments => 1
, start_date => SYSTIMESTAMP
, repeat_interval => 'freq=minutely; interval=1;'
);
dbms_scheduler.set_job_anydata_value(
job_name => 'test_JOB'
, argument_position => 1
, argument_value => sys.anydata.convertDate(sysdate)
);
dbms_scheduler.enable('test_JOB');
end;
実行ごとに現在のSYSDATEを取得したいとします。私は手順を変更することはできません。私のためのブラックボックスです。
DBMS_SCHEDULERでは可能ですか?
P .:おそらく私は間違いを犯しました...私の英語は申し訳ありません!
私はこれができたと思いますhelp [スケジューラ・ジョブを介してoracleストアド・プロシージャに引数を渡す](http://stackoverflow.com/questions/9179775/passing-arguments-to-oracle-stored-procedure-through-scheduler-job) – Leo