順序ジェネレータ

順序ジェネレータは、一連の整数を生成するサービスです。

構文

sequence_generator_attributes ::=
   (START WITH signed_int) | 
   (INCREMENT BY signed_int) | 
   (MAXVALUE signed_int) | (NO MAXVALUE) | 
   (MINVALUE signed_int) | (NO MINVALUE) | 
   (CACHE INT) | (NO CACHE) | 
   CYCLE | (NO CYCLE) 

セマンティクス

Oracle NoSQL Databaseでは、アイデンティティ列にアタッチされた順序ジェネレータのみがサポートされています。IDENTITY列の使用を参照してください。生成される順序の番号は、順序ジェネレータ属性の属性によって異なります。次の属性がサポートされています。

START WITH

順序内の最初の番号。デフォルトは1です。

INCREMENT BY

順序内の次の番号は、順序の現在の値にINCREMENT BY値を追加して生成されます。増分値には正の数または負の数を指定できます。正の増分がある順序ジェネレータは昇順となり、負の増分がある順序ジェネレータは降順となります。デフォルトは1です。値0は無効です。

MINVALUEまたはNO MINVALUE

順序範囲の下限。デフォルトは-2^31で、整数データ型の最小値です。

MAXVALUEまたはNO MAXVALUE

順序範囲の上限。デフォルトは2^31-1で、整数データ型の最大値です。

CYCLEまたはNO CYCLE

順序が最大値または最小値に達した後に値を生成し続けることを示す場合に指定します。昇順の順序が最大値に達した後に、最小値を生成します。降順の順序が最小値に達した後に、最大値を生成します。

CACHE

この属性の値は、順序ジェネレータに対してリクエストが行われるたびに生成される順序番号の数です。これらのリクエストはOracle NoSQL Databaseクライアントで行われ、サーバーに存在する順序ジェネレータによって処理されます。具体的には、各リクエストで生成された数がクライアントに返信され、そこでキャッシュされます。クライアントがアイデンティティ列に値を割り当てる必要がある場合は、常に、キャッシュの次の順序番号が使用されます。キャッシュが空の場合、キャッシュ順序番号の別のバッチのリクエストが順序ジェネレータに送信されます。デフォルトのキャッシュ・サイズは1000です。