ColorationStyle

シーケンスの作成方法

シーケンスの作成方法について説明します。
シーケンスとは、自動採番を行うDBオブジェクトです。

シーケンスの作成

ここではシーケンスを作成するSQLを説明します。
構文は以下の通りです。
構文の詳細は公式サイトを参照ください。

【文法】

 CREATE SEQUENCE シーケンス名 [START WITH 開始番号] [MAXVALUE 最大値][CYCLE|NO CYCLE]

【実行例】

実際にSQLを実行しシーケンスを作成します。
SQLは以下の通りです。

SQLの実行結果は以下の通りです。
これでシーケンスが作成されました。

シーケンスが作成されたことを確認し、採番してみます。

実行結果は以下になります。データが抽出され、採番されました。
例ではDUAL表を使用して結果を表示していますが、実際はSQL PLで変数に代入して使用したり、
INSERT文のVALUE句で指定して使用します。

シーケンスの削除

 シーケンスの削除のSQLを説明します。
 構文は以下の通りです。

【文法】

 DROP SEQUENCE シーケンス名

【実行例】

実際にSQLを実行しシーケンスを削除します。
SQLは以下の通りです。

SQLの実行結果は以下の通りです。
これでシーケンスが削除されました。

採番時の注意点

シーケンスは一意な値を生成するためのオブジェクトなのでセッションごとに採番される値が異なります。
また一度採番した番号を再取得するコマンドは、一度採番を行わないとエラーになります。

SQLの実行結果は以下の通りです。
ログイン後いきなり現在の番号を取得するとエラーになります。
採番後に取得した場合は正常に値がしゅとくできます。

別の構文

Oracle同様にシーケンス名.NEXTVAL, シーケンス名.CURRVALという構文も使用することができます。

SQLの実行結果は以下の通りです。
前述の構文と同じように採番が行えます。