0

これは、オラクルの専門家にとって簡単な質問になるはずです。列があります(たとえば、ID NUMBER(10)で、Oracleシーケンスを使用して次の値を生成します。これによると:http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_6015 .htm シーケンスは最大28桁の値を生成できます。知りたいのは、上記の列の最大サイズに達するのに十分なシーケンスが生成され、シーケンス定義でCYCLEを指定したが、指定しなかった場合にどうなるかです。 MAXVALUEを指定します。Oracleはこれをスマートな方法で処理し、最初から開始しますか、それとも、Oracleが上記のID列に格納できる数よりも大きい数値を生成し続けることを指定する必要がありますか?

4

1 に答える 1

5

シーケンスと列の間に関係はありませんID。複数の異なるテーブルのキーを生成するために使用される1つのシーケンスを持つことは完全に可能です。これは、シーケンスが列をどのように宣言したかを認識していないことを意味しIDます。を指定しない場合MAXVALUE、シーケンスは10^27までの数値を生成し続けます。

シーケンスが10^27ではなく10^11に達したときにシーケンスを循環させたい場合は、MAXVALUE10^11-1のaを指定する必要があります。

于 2012-07-20T01:14:44.623 に答える