在oracle中,可利用select語句配合Nextval查詢下一個序列,Nextval第一次傳回的是初始值,之後每次都會增加一次sequence值,因此可查詢下一個序列,語法為“ select 序列名.Nextval from dual」。
本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
select 序列名.Nextval from dual;--生成并获得下一个序列 select 序列名.CURRVAL from dual;--如果与上述语句为同一会话,可以通过此句获得上面生成的序列。
範例如下:
擴充知識:
SELECT INR_REQUIRMENT_SQUENCE.CURRVAL FROM dual
--取得目前的sequence的值,第一次NEXTVAL回傳的是初始值;
隨後的NEXTVAL會自動增加你定義的INCREMENT BY值, 然後傳回增加後的值。 CURRVAL 總是傳回目前sequence的值,但是在第一次NEXTVAL 初始化之後才能使用CURRVAL,否則會出錯。
一次NEXTVAL會增加一次sequence的值, 所以如果你在同一個語句裡面使用多個NEXTVAL。
其實sequence是序號產生器,可以為表中的行自動產生序號,產生一組等間隔的數值(類型為數字)。其主要的用途是產生表的主鍵值,可以在插入語句中引用,在插入之前,取得序號nextval值,然後進行插入。也可以透過查詢檢查目前值,或使序列增至下一個值。
如何定義一個sequence?
create sequence INR_REQUIRMENT_SQUENCE INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXVALUE -- 不设置最大值 NOCYCLE -- 一直累加,不循环 CACHE 10;
推薦教學:《Oracle影片教學》
以上是oracle怎麼查詢下一個序列的詳細內容。更多資訊請關注PHP中文網其他相關文章!