SQL シーケンス(順序)を作成/使用するサンプル

SQLのシーケンスを作成/使用するサンプルです。Oracleで確認しています。

目次

説明 シーケンスとは
サンプル シーケンスを作成する
  シーケンスの値を採番する
  シーケンスの現状の値を取得する
  シーケンスを削除する

シーケンスとは

 

シーケンスを作成する

create sequence TestSeq1
INCREMENT BY 1
START WITH 1
MAXVALUE 20
ORDER;

1行目のcreate sequenceでTestSeq1というシーケンスを作成します。
2行目は、シーケンスの値の増分で1ずつ増えていきます。
3行目は、初期値で1から始まります。
4行目のMAXVALUEは、値の上限で20桁にしています。正の値の場合は28桁以内にします。
5行目のorderは、要求どおりの順序で順序番号を生成することを保証します。

 

シーケンスの値を採番する

はじめに、最初の値を採番する必要があります。
採番を1回もしないでアクセスした場合はエラーになります。

select TestSeq1.nextval from dual;

nextvalで採番します。
シーケンス作成時に、初期値1で増分1としたので1がセットされます。
このSQLを実行する毎に値が増えていきます。

結果は、以下のとおりです。

NEXTVAL
1

 

シーケンスの現状の値を取得する

select TestSeq1.currval from dual;

currvalで現状の値を取得します。

結果は、以下のとおりです。

CURRVAL
1

以下は、次の値を取得する例です。

select TestSeq1.nextval from dual;

select TestSeq1.currval from dual;

最初にnextvalで採番してからcurrvalを行います。

結果は、以下のとおりです。

CURRVAL
2

 

シーケンスを削除する

drop sequence TestSeq1;

drop sequenceとシーケンス名を指定します。

関連の記事

Oracle DDL文で作成するサンプル

△上に戻る