2017-11-16 7 views
-1

、それは午後11時59分特定の時刻に毎日実行するようにストアドプロシージャをスケジュールするにはどうすればよいですか?私は、Oracleのストアドプロシージャをスケジュールしようとしています

BEGIN 
DBMS_SCHEDULER.CREATE_JOB (
job_name   => 'BLANKET_WO', 
job_type   => 'STORED_PROCEDURE', 
job_action   => 'AAKPID.BLANKET_WO_PROC', 
repeat_interval => 'FREQ=DAILY;BYHOUR=23;BYMINUTE=59'); 
END; 
/

このコードの動作を意のままに、たとえば、特定の時間に毎日実行する必要がありますか?

答えて

0

はこれを試してみてください、それが動作するはずです:

BEGIN 
DBMS_SCHEDULER.CREATE_JOB (
job_name   => 'BLANKET_WO', 
job_type   => 'STORED_PROCEDURE', 
job_action   => 'AAKPID.BLANKET_WO_PROC', 
start_date   => '16-nov-2017 11:50:00 pm', 
repeat_interval => 'FREQ=DAILY;BYHOUR=23;BYMINUTE=59', 
enabled   => true 
); 
END; 
/
+0

ウィル59番目の分で、この動作しますか? – Ameya

+0

@AmeyaLokhandeはい、あなたはあなたの現地時間に関して近い将来にお試しください。 –

+0

注:何らかの理由で遅延させたくない場合は、 'start_date'を指定する必要はありません。デフォルトの動作は、ジョブが有効になるとすぐに開始することです。また、 'start_date'は文字列パラメータではありません(タイムゾーン付きのタイムスタンプ)ので、文字列からの暗黙的な変換に頼ることは理想的ではありません。 –

関連する問題