【DB2逆引きリファレンス目次】 【DB2逆引きリファレンス目次#実装編】 【DB2逆引きリファレンス目次#その他のオブジェクト】
前提
- データベース接続が必要
- 以下のいずれかが必要: SYSADM権限, DBADM権限, スキーマに対するCREATEIN権限
解説
シーケンスを作成するにはCREATE SEQUENCEを用います。
CREATE SEQUENCE シーケンス名 [AS 型指定 ]
[START WITH 開始値 ] [INCREMENT BY 増分指定 ]
[ 最小値指定 ] [ 最大値指定 ] [CYCLE]
シーケンス名
: 作成するシーケンスの名前を指定します。
AS 型指定
: シーケンスの型を指定します。以下の型のいずれかを指定できます。
- INTEGER
- SMALLINT
- BIGINT
- DECIMAL(整数値であること)
デフォルトはINTEGERです。
START WITH 開始値
: シーケンスの開始値を指定します。デフォルト値は、昇順シーケンスであれば最小値、降順シーケンスであれば最大値になります。
INCREMENT BY 増分指定
: シーケンスの増分値を指定します。
最小値指定
: シーケンスの最小値を以下のいずれかの形式で指定します。
MINVALUE 最小値
: 最小値を数値で指定します。
NO MINVALUE
: 最小値を指定しません。この場合、昇順シーケンスの場合は開始値(指定がない場合は1)、降順シーケンスの場合はシーケンスの型が取りうる最小値になります。
最大値指定
: シーケンスの最大値を以下のいずれかの形式で指定します。
MAXVALUE 最大値
: 最大値を数値で指定します。
NO MAXVALUE
: 最大値を指定しません。この場合、降順シーケンスの場合は開始値(指定がない場合は-1)、昇順シーケンスの場合はシーケンスの型が取りうる最大値になります。
CYCLE
: シーケンスが最大値もしくは最小値に達した後、最小値もしくは最大値にシーケンスの値をリセットして再利用します。
使用例
開始値(ここでは1000)、増分値(ここでは1)および最大値(ここでは9000)を指定して、循環しないシーケンス(ここではseq1)を作成する例。
db2 ==> CREATE SEQUENCE seq1 START WITH 1000 INCREMENT BY 1 MAXVALUE 9000↓
注意
- CYCLEを指定した場合、シーケンスは重複する値を再度生成することになります。プライマリキーの値として利用する場合などには注意してください。