會話級序列會産生一個獨特範圍的值,這些值是限制在此會話内的,而非超越此會話。一旦會話終止,會話序列的狀态也會消失
SQL> create sequence session_seq start with 1 increment by 1 session;
Sequence created.
SQL> select dbms_metadata.get_ddl('SEQUENCE','SESSION_SEQ','SYS') FROM DUAL;
CREATE SEQUENCE "SYS"."SESSION_SEQ" MINVALUE 1 MAXVALUE 999999999999999999
SQL> select session_seq.nextval from dual;
Sequence altered.
SQL> /

通過ALTER SQEUENCE指令将序列由全局修改為會話級和将序列從會話級修改為全局有所不同,将序列由全局修改為會話級時,序列的值不會重新初始化,而是根據目前會話的上一個序列值開始,詳見下面的測試。
對于會話級序列,CACHE, NOCACHE, ORDER 或 NOORDER 語句會予以忽略。
本文轉自whshurk 51CTO部落格,原文連結:http://blog.51cto.com/shurk/2056932,如需轉載請自行聯系原作者