ITPub博客

首页 > 数据库 > Oracle > Oracle 12c新特性之Sequence的Session特性

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

原创 Oracle 作者:Hoegh 时间:2016-09-08 10:05:40 0 删除 编辑
    大家可能还记得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博客 ” ,链接:https://blog.itpub.net/30162081/viewspace-2124687/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-03-13

  • 博文量
    132
  • 访问量
    2219919