如果使用了全局临时表和sequence,有时会遇到一些问题。因为全局临时表与会话(或会话中的事务)相关,而sequence与数据库级别相关。

在12C中,可以创建一个sequence,其使用范围只是针对一个给定的session。

--当全局临时表gtt在某个会话中被清空时(如commit),sequence的值不会被重置。下次调用该sequence会使用其nextval值。

SQL> connect scott/tiger
SQL> drop table gtt;
SQL> create global temporary table gtt(id number,seq_number number);
SQL> grant all on gtt to tiger;
SQL> drop sequence seq_session;
SQL> create sequence seq_session start with session;
SQL> grant all on seq_session to tiger;
SQL> insert into gtt values(,seq_session.nextval);
SQL> insert into gtt values(,seq_session.nextval);
SQL> select * from scott.gtt; ID SEQ_NUMBER
---------- ---------- SQL>
commit;
SQL> select * from scott.gtt; no rows selected SQL>
insert into gtt values(,seq_session.nextval);
insert into gtt values(,seq_session.nextval);
SQL> select * from scott.gtt; ID SEQ_NUMBER
---------- ---------- SQL>

继续测试。
--会话结束,sequence的值会被重置

SQL>conn tiger/tiger
SQL>drop synonym gtt;
SQL>drop synonym seq_session;
SQL>create synonym gtt for scott.gtt;
SQL>create synonym seq_session for scott.seq_session;
SQL> select * from gtt; no rows selected SQL>
SQL> insert into gtt values(,seq_session.nextval);
SQL> insert into gtt values(,seq_session.nextval);
--在11g中,这里查询结果是5,6
SQL> select * from gtt; ID SEQ_NUMBER
---------- ---------- SQL>
SQL> commit;
SQL> select * from gtt; no rows selected SQL> SQL> conn scott/tiger
SQL> insert into gtt values(,seq_session.nextval);
SQL> insert into gtt values(,seq_session.nextval);
--在11g中,这里查询结果是7,8
SQL> select * from gtt; ID SEQ_NUMBER
---------- ---------- SQL>

Oracle 12C -- sequence的新特性的更多相关文章

  1. Oracle 12C -- top-n查询新特性

    Oracle 12C -- top-n查询新特性在12C中,增加了一些新的特性.可以指定返回结果集的指定数量的行.或按照百分比返回行. SQL> select count(*) from emp ...

  2. goldengate 12c 12.2 新特性(updated)

    GoldenGate 12.2已经提供下载,增加了不少新特性 1. 异构配置加强不在需要sourceDefs和AssumeTargetDefs文件,在队列文件中已经包含metadata信息,比如tab ...

  3. Oracle Database 12.2新特性详解

    在2015年旧金山的Oracle OpenWorld大会上,Oracle发布了Database 12.2的Beta版本,虽然Beta版本只对部分用户开放,但是大会上已经公布了12.2的很多重要的新特性 ...

  4. Oracle GoldenGate 19.1新特性

    1.GoldenGate 19.1 新特性概览a.支持Oracle数据库19.1 长期支持发布版本.集成Oracle GoldenGate 12.3版的最终补丁集更新.b.微服务的安全性和可管理性增强 ...

  5. 安装SQL Developer,连接Oracle 12c,创建新用户

    1.访问Oracle官网:https://www.oracle.com/index.html,下载SQL Developer 2.安装... 3.打开Sql Developer,右键"创建新 ...

  6. Oracle 12c新特性之——TABLE ACCESS BY INDEX ROWID BATCHED

    Oracle12c开始,我们在获取SQL语句的执行计划时,也会经常看到"TABLE ACCESS BY INDEX ROWID BATCHED"操作,那么,这个操作到底是什么意思呢 ...

  7. oracle 12C的新特性-CDB和PDB

    1.前言 CDB与PDB是Oracle 12C引入的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插 ...

  8. Oracle 12c 容器讲解

    Oracle 12c一个重要新特性是插接式数据库. 插接式数据库由一个使用 CDB(Container Database)选项创建的容器数据库和一个或多个 PDB(Pluggable Database ...

  9. Oracle Database 12c 新特性 - Pluggable Database

    在Oracle Database 12c中,可组装式数据库 - Pluggable Database为云计算而生.在12c以前,Oracle数据库是通过Schema来进行用户模式隔离的,现在,可组装式 ...

随机推荐

  1. [Canvas]New Running Dog

    欲看效果请下载后用Chrome浏览器打开index.html观看,下载地址:https://files.cnblogs.com/files/xiandedanteng/51-NewRunningDog ...

  2. Array、ArrayList、List、IEnumerable、for、foreach应用

    一.Array 类 (System) 声明数组(本身也是一种变量,要先声明再使用) 1.声明数组的语法,数组大小由长度绝定: 数据类型 [] 数组名: 如: string[] student; //字 ...

  3. 定制保存top输出信息的格式详解

    top命令的重要性和使用方法不多说了,这里终点讨论如何保存top命令的输出信息.     保存top命令的输出到一个文件的方法是:top -n1b > topinfo.txt,这没什么好奇的,但 ...

  4. Node,Sockets,Cores,Threads

    http://fishcried.com/2015-01-09/cpu_topology/ http://kodango.com/cpu-topology http://www.udpwork.com ...

  5. Atlas系列一:Atlas功能特点FAQ

    1:Atlas是否支持多字符集? 支持,可以在test.cnf中指定. #默认字符集,设置该项后客户端不再需要执行SET NAMES语句charset = utf8 2:Atlas是否支持事物操作? ...

  6. Aspect实现对方法日志的拦截记录

    在实际的业务系统中,我们通常都希望程序自动的打印方法的入参和返回值,某些特定的方法可能不想打印返回值(返回数据过大,打印日志影响效率),特有了下面的实现. 1.忽略返回值的java注解类 import ...

  7. python模块之HTMLParser(原理很大程度上就是对类构造的熟练运用)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python模块之HTMLParser(原理很大程度上就是对类构造的熟练运用) import HTMLPar ...

  8. C++ UTF8和UTF16互转代码

    简介 1.这段代码只考虑在小端序情况下的转换(一般的机器都是的). 2.这段代码需要C++11的支持(只是用到了u16string),如果不支持,可以添加下面代码 typedef uint16_t c ...

  9. 【转】TestNG 与 Junit的比较

    转自 http://www.blogjava.net/fanscial/archive/2005/12/14/23780.html 1.         JDK 5 Annotations (JDK ...

  10. Tomcat默认界面可导致版本信息泄露+管理后台爆破

    由于配置的Tomcat时,管理页面未进行删除或者权限角色配置,攻击者可以通过暴力猜解进入到管理后台,从而上传获取shell. Tomcat的默认工具manager配置,在很多的生产环境中由于基本用不到 ...