【PostgreSQL】シーケンス番号取得
シーケンスの作成
CREATE SEQUENCE シーケンス名(カラム名_seq) INCREMENT BY 1 MINVALUE 1 MAXVALUE 999999 START WITH 1 CACHE 1 NO CYCLE OWNED BY NONE
上記の説明をすると、
CREATE SEQUENCE でシーケンスを作成する。シーケンス名は主キーとなるカラム名_seqがいいのかな
INCREMENT BY でいくつずつ増やしていくのかを決める。デフォルトでは1なので1ずつ増やしたいのなら書かなくてもいい。
MINVALUE で最小値を決める。デフォルトでは1なので最小値が1だったら書かなくてもいい。
MAXVALUE で最大値を決める。NO MAXVALUEでデフォルト値になる。デフォルトでは2の63乗の値になる。書かなくてもいい。
START WITH で指定した値から始めることができる。デフォルトではMINVALUEから始まる。書かなくてもいい。
CACHE であらかじめ番号を割り当ててメモリに格納しておくシーケンス番号を指定する。書かなくてもいい。
CYCLE でシーケンスが限界値(MAXVALUE)になったら次に生成される番号はMINVALUEになる。NO CYCLE で限界値になったらエラーになる。
シーケンスを作成するだけなら
CREATE SEQUENCE シーケンス名(カラム名_seq);
で作成できる。
シーケンス番号を取得する
select nextval('スキーマ.シーケンス名');
シーケンス一覧
¥ds