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

SQLのシーケンスを作成/使用するサンプルです。

確認環境
・Oracle Express Edition 11g Release 2

目次

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

シーケンス

シーケンスを作成する

シーケンスを作成するサンプルです。

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文で作成するサンプル

△上に戻る