セマンティクス
schema
シーケンスを格納するスキーマを指定します。 schema
を省略した場合、Oracle Database は独自のスキーマでシーケンスを作成します。
sequence
作成するシーケンスの名前を指定します。
以下の句をいずれも指定しない場合、1から始まり上限なしで1ずつ増加する昇順シーケンスを作成します。 INCREMENT
BY
-1 のみを指定すると、-1から始まり下限なく減少する降順のシーケンスが作成されます。
-
無制限に増加するシーケンスを作成するには、昇順シーケンスでは
MAXVALUE
を省略するかNOMAXVALUE
を指定してください。 下降シーケンスの場合は、MINVALUE
パラメータを省略するか、NOMINVALUE
を指定します。 -
定義された上限で停止するシーケンスを作成するには、上昇シーケンスでは
MAXVALUE
パラメータに値を指定します。 降順の場合は,MINVALUE
に値を指定します。 また,NOCYCLE
も指定してください。 -
定義済みの限界に達した後に再開するシーケンスを作成するには、
MAXVALUE
とMINVALUE
の両方のパラメータに値を指定します。 また、CYCLE
も指定する。MINVALUE
を指定しない場合、デフォルトはNOMINVALUE
で、値は1である。
INCREMENT BY シーケンス番号間の間隔を指定する。 この整数値は正負を問わないが、0にはできない。 この値は28桁以下である。 この値の絶対値は,MAXVALUE
とMINVALUE
の差より小さくなければならない。 この値が負であれば,シーケンスは下降する。 この値が正の場合,シーケンスは昇順となる。 この節を省略した場合、間隔はデフォルトで1です。
START WITH 生成する最初のシーケンス番号を指定します。 この節は、最小値より大きい値で昇順シーケンスを開始する場合、または最大値より小さい値で降順シーケンスを開始する場合に使用する。 昇順シーケンスの場合、デフォルト値はシーケンスの最小値である。 下降シーケンスの場合、デフォルト値はシーケンスの最大値である。
注意:
この値は、上昇循環シーケンスが最大値または最小値に達した後に循環する値とは限りません。
MAXVALUE シーケンスが生成できる最大値を指定します。 この整数値は28桁以下である。 MAXVALUE
は START
WITH
と同じかそれ以上で、かつ MINVALUE
よりも大きくなければなりません。
NOMAXVALUE NOMAXVALUE
を指定すると、最大値が昇順の場合は 1027、降順の場合は -1 になることを意味します。
MINVALUE シーケンスの最小値を指定します。 この整数値は28桁以下であればよい。 MINVALUE
はSTART
以下、WITH
はMAXVALUE
以下でなければなりません。
NOMINVALUE 昇順の場合はNOMINVALUE
、降順の場合は-1026が最小値となるように指定します。
CYCLE 最大値または最小値に達した後、シーケンスが値を生成し続けることを示すために、CYCLE
を指定します。 上昇型シーケンスは最大値に達した後,最小値を生成します。
NOCYCLE NOCYCLE
を指定すると、シーケンスが最大値または最小値に達した後、それ以上値を生成できないことを示します。 これはデフォルトです。
CACHE データベースがより高速なアクセスのために、シーケンスの値をいくつ事前に割り当て、メモリに保持するかを指定します。 この整数値は28桁以下でなければなりません。 このパラメータの最小値は2です。循環するシーケンスの場合、この値は循環する値の数よりも少なくなければなりません。 シーケンス番号の特定のサイクルに収まるより多くの値をキャッシュすることはできません。 したがって、CACHE
に許可される最大値は、次の式で決定される値よりも小さくなければなりません:
(CEIL (MAXVALUE - MINVALUE)) / ABS (INCREMENT)
システム障害が発生すると、コミットされた DML 文で使用されていない、キャッシュされたすべてのシーケンス値が失われます。
注意:
Oracle Real Application Clusters 環境でシーケンスを使用する場合、パフォーマンスを高めるために CACHE
設定を使用することをお勧めします。
NOCACHE NOCACHE
を指定して、シーケンスの値が事前に割り当てられていないことを指定します。 CACHE
と NOCACHE
の両方を省略した場合、データベースはデフォルトで20個のシーケンス番号をキャッシュします。
ORDER ORDER
を指定すると、シーケンス番号が要求順に生成されることを保証します。 この節は、シーケンス番号をタイムスタンプとして使用する場合に有効です。
ORDER
は、Oracle Real Application Clusters を使用している場合にのみ、順序付き生成を保証するために必要です。 排他モードを使用している場合、シーケンス番号は常に順番に生成されます。
NOORDER シーケンス番号を要求順に生成することを保証しない場合は NOORDER
を指定します。 これはデフォルトです。
NOORDER