シーケンスを作成するには

提供: DB2逆引きWiki
移動: 案内, 検索

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を指定した場合、シーケンスは重複する値を再度生成することになります。プライマリキーの値として利用する場合などには注意してください。

参照

個人用ツール
名前空間

変種
操作
案内
ツール