sql >> データベース >  >> RDS >> Oracle

主キー列のOracleシーケンスギャップを再利用するにはどうすればよいですか?

    つまり、シーケンスが「ギャップ」範囲内の値を返すことはありますか?なんらかの理由でドロップ/再作成しない限り、そうは思いません。ある種の関数を記述して、テーブル内のPKギャップを見つけ、それらのギャップ範囲を別のテーブルに保存し、ギャップテーブルを使用して独自のシーケンス関数を「ロール」することができると思います。とても醜い。これらのギャップを「回復」しようとすると、避けられないことを避けようと必死になっているように聞こえます。JavaPKデータ型はDBデータ型と一致している必要があります。ずっと前に、16ビット整数として定義されたクラスキーを持つVBアプリで同じ問題が発生し、シーケンスが32Kを超えたため、変数をLongに変更する必要がありました。私は言います、弾丸をかみ、そして回心をします。今少しの痛みは、後であなたに進行中の痛みの多くを救うでしょう。私の意見です。



    1. win7でフラスコを使用してpostgresを設定する

    2. ストアドプロシージャの使用:mysqli-> query(CALL select_procedure)とmysqli-> query(SELECT ...)の結果が異なります。

    3. テーブル値パラメーターのパフォーマンスに関する問題

    4. Oracle 10gで2つのコレクションを結合する際の内部エラー(00801)