かなめのロジック

フリーSEの雑記ブログ。ORACLEやPostgreSQL、情報セキュリティ、金融について主に書いています。

シーケンス(順序)の使用方法

time 2017/02/15

シーケンス(順序)の使用方法

本記事では、ORACLEのシーケンス(順序)の使用方法について、まとめました。

ちなみに、シーケンスとはどのようなものか、作成や削除の方法については、こちらの記事を参照ください。

sponsored link

シーケンス(順序)の使い方

シーケンス(順序)を使うには、【シーケンス名.NEXTVAL】で値の生成を行います。また、生成と同時にシーケンスはカウントアップされます。

具体的には、INSERT文等の中で直接生成して使用する方法と、プログラムの中で生成して使用する方法の2つが考えられます。

INSERT文等の中で直接生成して使用

以下、1レコードをINSERT文で登録する例です。

他のテーブルからの抽出結果を元にデータ登録するINSERT-SELECTでも問題なく使用できます。

プログラムの中で生成して使用

以下、PL/SQLでデータを生成して設定する例です。生成時には、DUAL表を利用します。
※例はエラー処理してません

生成がエラーになるケース

循環なしの設定(NOCYCLE)で、昇順の場合に最大値まで生成済みの場合(降順の場合は最小値)に、次の生成を行うとエラー(ORA-08004)になります。

まとめ

ORACLEのシーケンス(順序)の使い方を見てきました。

DUALテーブルの検索で、SELECT句に【シーケンス名.NEXTVAL】を指定して生成する方法をよく見かけます。

また、INSERT文などに【シーケンス名.NEXTVAL】を記述することも可能です。

関連


sponsored link

管理人

かなめ

フリーの業務系システムエンジニア。情報処理安全確保支援士。 ORACLEと金融と子育ての狭間で、元気に楽しくやってます。 [詳細]

管理人twitter

ブログ村



sponsored link