私はSQL Serverで広範に作業しましたが、Oracleの経験はほとんどありません。私は、Oracleデータベース内のシーケンスを「クリーンアップ」する作業を与えられており、これを安全に行う方法がわかりません。Oracleシーケンスのクリーンアップ
実際にテーブルの最大値(ID = 105など)を決定する必要があります。それから見て、そのIDの次のシーケンスが何であるかを見てください。それが106なら、すべてが良いでしょう。もし110だったら、それを106に戻してリセットする必要があります。
安全にシーケンスを削除してから再作成することはできますか?それとも既存のプライマリキーを掘り起こすことはできますか?私はこれが問題ではないだろうと推測していますが、私が他の誰かのシステムを取り上げる前に、私は尋ねたいと思っていました。
これは私が一般的にOracleのシーケンスを「クリーンアップ」する必要性について警戒すると思います
Drop Sequence blah.foo_seq
Create Sequence blah.foo_seq Start WIth 106 Min 1 Max 2147483647 yada yada
シーケンス値を低下させるために、パラメータBY INCREMENTを変更することであろう失われた権限に対処する必要性を回避し、代替的なアプローチ、使用する。 – cagcowboy