2017-06-23 4 views
0

私は、フォームが11から始まる既存のシーケンス値の形式を更新しますか?

例で見つめ値既存のシーケンスを更新することができます:シーケンスのフォーム5001を起動し、テーブルには一つの配列の列が、私はどのようにすることができ、それが可能であれば1

で始まるその値の形式を変更したいですアプローチ?

+0

[OracleでAUTO \ _INCREMENTでIDを作成する方法](https://stackoverflow.com/questions/11296361/how-to-create-id-with-auto-increment-on-oracle)の可能な複製 –

+0

[Oracleでシーケンスをリセットするにはどうすればいいですか?](https://stackoverflow.com/questions/51470/how-do-i-reset-a-sequence-in-oracle) – trincot

+0

どうやってあなたのシーケンスがすでにテーブルにある値を生成するときにそれを処理します(例えば5001)。または、その列の既存の値をすべて更新することを意味しますが、これは[Oracleのシーケンス](http://docs.oracle.com/database/121/CNCPT/schemaob.htm#CNCPT88878)とは関係ありませんか? (その場合は...列は主キーですか?これらは合成であればなぜ更新するのですか?) –

答えて

0

私はあなたの最も簡単な道は、テーブルを削除してリロードすることだと思います。リロードする前に主キーを指定してください。これにより重複が挿入されるのを防ぎます。

0

ALTER SEQUENCEでシーケンス開始値を変更できます。ただし、開始ポイントを元に戻すと、テーブルの既存の値と競合します。また、NuoDBはシーケンス番号を順番に配布するとは限りません。それが分散データベースであることを考えると、シーケンシャルな番号ジェネレータは、各TEがマスターに次のシーケンス番号をチェックする必要があるため、パフォーマンスに大きな影響を与えます。 NuoDBが行うことは、TEが使用するシーケンスブロックを配布して、それがなくなったときに別のブロックを要求することです。 TEがシャットダウンして再起動すると、新しいブロックが作成されます。

関連する問題