Oracle 12c新特性之Sequence的Session特性

Hoegh發表於2016-09-08
    大家可能還記得ORACLE臨時表有兩種型別:會話級的臨時表和事務級的臨時表,對應的關鍵字分別是ON COMMIT DELETE ROWS和ON COMMIT PRESERVE ROWS。其中,ON COMMIT PRESERVE ROWS表示臨時表的內容可以跨事務而存在,不過,當該會話結束時,臨時表的暫時段將隨著會話的結束而被丟棄,臨時表中的資料自然也就隨之丟棄。
   今天和大家分享一個Sequence在Oracle 12c下的新特性,和臨時表有點類似,支援Session特性。也就是說,在不同的會話中同一序列物件互不影響,各自計數。

1.建立一個普通序列和一個session序列

點選(此處)摺疊或開啟

  1. SQL> select banner from v$version;

  2. BANNER
  3. --------------------------------------------------------------------------------
  4. Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
  5. PL/SQL Release 12.1.0.2.0 - Production
  6. CORE    12.1.0.2.0    Production
  7. TNS for Linux: Version 12.1.0.2.0 - Production
  8. NLSRTL Version 12.1.0.2.0 - Production

  9. SQL>
  10. SQL> show user
  11. USER is "HOEGH"
  12. SQL>
  13. SQL> create sequence HOEGH1
  14.   2 start with 1
  15.   3 increment by 1;

  16. Sequence created.

  17. SQL>
  18. SQL> create sequence HOEGH2
  19.   2 start with 1
  20.   3 increment by 1
  21.   4 session;

  22. Sequence created.

  23. SQL>

2.檢視兩序列NEXTVAL

透過NEXTVAL檢視兩個序列的值,分別執
行兩次,我們看到輸出結果沒有差別。

點選(此處)摺疊或開啟

  1. SQL>
  2. SQL> select HOEGH1.NEXTVAL from dual;

  3.    NEXTVAL
  4. ----------
  5.      1

  6. SQL> /

  7.    NEXTVAL
  8. ----------
  9.      2

  10. SQL>
  11. SQL> select HOEGH2.NEXTVAL from dual;

  12.    NEXTVAL
  13. ----------
  14.      1

  15. SQL> /

  16.    NEXTVAL
  17. ----------
  18.      2

  19. SQL>

3.開啟一個新的session,檢視兩個序列的NEXTVAL
接下來,我們開啟一個新的會話。
透過NEXTVAL檢視兩個序列的值,分別執行兩次,我們看到輸出結果出現了差異。
擁有session特性的序列HOEGH2重新從1開始計數,而普通序列
HOEGH1則是接著上次的序列值繼續計數。

點選(此處)摺疊或開啟

  1. SQL> sho user
  2. USER is "HOEGH"
  3. SQL>
  4. SQL> select HOEGH1.NEXTVAL from dual;

  5.    NEXTVAL
  6. ----------
  7.      3

  8. SQL> /

  9.    NEXTVAL
  10. ----------
  11.      4

  12. SQL>
  13. SQL> select HOEGH2.NEXTVAL from dual;

  14.    NEXTVAL
  15. ----------
  16.      1

  17. SQL> /

  18.    NEXTVAL
  19. ----------
  20.      2

  21. SQL>

~~~~~~~ the end~~~~~~~~~
hoegh
2016.09.08


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30162081/viewspace-2124687/,如需轉載,請註明出處,否則將追究法律責任。

相關文章