[Oracle] 連番の自動取得方法

 

Oracle データベースにて、連番の自動採番方法を調べたのでメモ。
 

Oracle の場合、MySQL のようにカラムの属性の指定によって一意な番号を自動採番することができないみたいです。
 

代わりに、順序(SEQUENCE)オブジェクトを使用します。シーケンスオブジェクトの作成は以下の通りです。
 

1
CREATE SEQUENCE ID_SEQ;

 

シーケンスから一意な番号を取得するにはNEXTVAL擬似列を使用します。
 

1
SELECT ID_SEQ.NEXTVAL FROM DUAL;

 

また、現在の番号を取得するにはCURRVAL擬似列を使用します。
 

1
SELECT ID_SEQ.CURRVAL FROM DUAL;

 

以上です。
 

【参考】

連番の自動採番方法|Archive Redo Blog はてなブックマーク - 連番の自動採番方法|Archive Redo Blog

スキーマ – オラクル・Oracleをマスターするための基本と仕組み はてなブックマーク - スキーマ - オラクル・Oracleをマスターするための基本と仕組み