CREATE SEQUENCE シーケンスを作成するSQL文

CREATE SEQUENCEは、シーケンス(順序)を作成するSQL文です。順序の初期値、増分値、最大値、最小値、および順序のサイクルを指定できます。

CREATE SEQUENCE sequence [START WITH start] [INCREMENT BY inc] [MINVALUE min] [MAXVALUE max] [CYCLE]
sequence

作成する順序の名前を指定する。

start

順序の開始値を指定する。順序の開始値を省略した場合は、1から始まる。

inc

順序の増分値を指定する。順序の増分値を指定しなければ、1づつ増えていく。

max

順序の最大値を指定する。

min

順序の最小値を指定する。

CYCLE

最大値に達したら最小値に戻ります。CYCLE節の指定を省略した場合は、最大値に達すると順序番号ジェネレータは値の生成を停止し、エラーが返される。

順序を作成するSQL文の例を次に示す。

SQL> CREATE SEQUENCE customerid_seq;

順序が作成されました。

SQL>

START WITH

シーケンスの開始値を指定するには、START WITHオプションを指定する。

CREATE SEQUENCE example START WITH 2

START WITHオプションを省略した場合、作成したシーケンスは1から始まる。

CACHE

シーケンスで生成する値を事前にキャッシュしておくと、パフォーマンスが向上する。

キャッシュする数を指定するには、CACHEオプションで指定する。

CREATE SEQUENCE example CACHE 30

権限

CREATE SEQUENCE文を実行するには、次のシステム権限が必要である。

CREATE SEQUENCEに関する権限
権限説明
CREATE SEQUENCE 自分のスキーマ内にシーケンスを作成できる。
CREATE ANY SEQUENCE 他ユーザのスキーマ内にシーケンスを作成できる。

関連SQL