「Oracle」シーケンスのnextval関数、currval関数の使い方

環境
Oracle Database 11g Release 11.2.0.1.0 – 64bit Production

書式
CREATE SEQUENCE シーケンス名
START WITH 最初の数値
INCREMENT BY 増分;
使用例
1.シーケンスを作成します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
CREATE SEQUENCE USERID_SEQ
START WITH 1
INCREMENT BY 1;
CREATE SEQUENCE USERID_SEQ START WITH 1 INCREMENT BY 1;
CREATE SEQUENCE USERID_SEQ
      START WITH 1
      INCREMENT BY 1;

説明
最初は1から始まると指定しています。
増分は1です

操作例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> CREATE SEQUENCE USERID_SEQ
2 START WITH 1
3 INCREMENT BY 1;
順序が作成されました。
SQL> CREATE SEQUENCE USERID_SEQ 2 START WITH 1 3 INCREMENT BY 1; 順序が作成されました。
SQL> CREATE SEQUENCE USERID_SEQ
  2     START WITH 1
  3     INCREMENT BY 1;

順序が作成されました。

2.nextval関数で次の値を取得します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> SELECT USERID_SEQ.NEXTVAL FROM DUAL;
NEXTVAL
----------
1
SQL> SELECT USERID_SEQ.NEXTVAL FROM DUAL; NEXTVAL ---------- 1
SQL> SELECT USERID_SEQ.NEXTVAL FROM DUAL;

   NEXTVAL
----------
         1

3.currval関数で現在の値を取得します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> SELECT USERID_SEQ.CURRVAL FROM DUAL;
CURRVAL
----------
1
SQL> SELECT USERID_SEQ.CURRVAL FROM DUAL; CURRVAL ---------- 1
SQL> SELECT USERID_SEQ.CURRVAL FROM DUAL;

   CURRVAL
----------
         1

4.シーケンスを削除します
書式
DROP SEQUENCE シーケンス名
DROP SEQUENCEを使用してシーケンスを削除します。

操作例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
SQL> DROP SEQUENCE USERID_SEQ;
順序が削除されました。
SQL> DROP SEQUENCE USERID_SEQ; 順序が削除されました。
SQL> DROP SEQUENCE USERID_SEQ;

順序が削除されました。

 

Oracle

Posted by arkgame