• ベストアンサー

oracle8iでのシーケンス作成

こんにちは。教えてください。 oracleのシーケンスなんですが、シーケンスを作成するときに cycleでmax値を超えると値が元に戻るっていうのがあると思うのですが、 それと同様に、たとえば2001年から2002年に変わったタイミングで シーケンスの値を1に戻す、という設定方法はあるのでしょうか。 よろしくご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yuji
  • ベストアンサー率37% (64/169)
回答No.1

UNIX,Linuxの場合ならシェルを組んで その中でSQL*Plusを呼び出して、 シーケンスの値を1にするようなSQLを実行すればいいでしょう。 (シェルの中で環境変数を設定することを忘れずに) そのシェルをcronから2002/01/01 00:00:00に呼び出すことで実装できます。 Windows系もcronに似たようなコマンドがあるでしょう。 ATコマンド?

sunnys
質問者

お礼

回答ありがとうございます。 今回NTサーバなのですが、NTのスケジューラは使わない方向でとの話なので、DBMS_JOBにてSQLPLUSかPL/SQLを呼び出すような形にしようかと思っています。 ただDBMS_JOBもPL/SQLもほとんど使ったことが無いのでそれで実現できるかどうかはまだ調べなければいけないのですが。。。 もし他の方法などありましたらまた教えてください。 ありがとうございました。