- ベストアンサー
年に一度の実行(DBMS_JOB)
oracle8,NT4.0でDBMS_JOBを作成しているのですが、 年に一度、年が変わった瞬間に(今回なら2002/01/01 00:00:00)にジョブを走らせたいのですが、next_dateの指定方法がわかりません。 sysdate(yy)+1 & '-01-01' のような指定ができればいいのですが・・。 INTERVALの使い方も良くわかっていません。 ご指導の程よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
next_dateには初回にJOBを実行する時刻をdate型で指定します。 intervalには次回JOBを実行する時刻を計算する式を文字列で指定します。 この式はJOBの実行時点で計算されます。 以下の内容にすると初回は2003年1月1日0時0分で 毎年1月1日0時0分に実行するJOBを作成できます。 next_dateの指定: to_date('20030101','yyyymmdd') intervalの指定: 'trunc(sysdate+366,''YEAR'')' (JOB実行後の時刻に366日加えて年単位で切り捨てる=次年の1月1日)
お礼
こんにちは。お礼が遅くなってしまって申し訳ありません。 なるほど、next_dateは初回にJOBを実行する日付を指定するんですね。 おかげさまでなんとか設定には成功しました。 ただ、違う環境で設定するとうまく設定できないんです・・。 自分でもまた調べて、もしわからないようならまた質問させていただくかもしれません。 そのときはまたよろしくお願いいたします。 大変勉強になりました。どうもありがとうございました。