12c 使用sequence作为列默认值

标签: ORACLE 12C | 发表时间:2013-04-14 00:37 | 作者:惜分飞
出处:http://www.xifenfei.com

官方文档创建表语句部分说明
在12c中,表支持默认列为sequence值,而且不用使用传统的触发器来实现该功能.



12c创建表使用默认sequence测试过程

SQL> create table t_xifenfei
  2  (
  3  id number GENERATED ALWAYS as identity (
  4  start with 1
  5  increment by 1
  6  ),
  7  name varchar2(200)
  8  );

Table created.

SQL> insert into t_xifenfei(name) values('www.xifenfei.com');

1 row created.

SQL> commit;

Commit complete.

SQL> col name for a30
SQL> select * from t_xifenfei;

        ID NAME
---------- ------------------------------
         1 www.xifenfei.com

SQL> insert into t_xifenfei(name) values('www.orasos.com');

1 row created.

SQL> commit;

Commit complete.

SQL> select * from t_xifenfei;

        ID NAME
---------- ------------------------------
         1 www.xifenfei.com
         2 www.orasos.com

SQL> insert into t_xifenfei values(5,'www.xifenfei.com');
insert into t_xifenfei values(5,'www.xifenfei.com')
            *
ERROR at line 1:
ORA-32795: cannot insert into a generated always identity column

SQL> insert into t_xifenfei(name) values('www.xifenfei.com');

1 row created.

SQL> commit;

Commit complete.

SQL> select * from t_xifenfei;

        ID NAME
---------- ------------------------------
         1 www.xifenfei.com
         2 www.orasos.com
         3 www.xifenfei.com

补充说明
1.如果设置了列默认值为seq,则不能手工插入一个该列值否则报ORA-32795
2.通过10046跟踪该insert语句未发现trigger对应sql语句操作,比传统自己编写触发器效率原则上更加高

相关 [12c sequence 作为] 推荐:

12c 使用sequence作为列默认值

- - 惜分飞
官方文档创建表语句部分说明. 在12c中,表支持默认列为sequence值,而且不用使用传统的触发器来实现该功能. 12c创建表使用默认sequence测试过程. SQL> create table t_xifenfei 2 ( 3 id number GENERATED ALWAYS as identity ( 4 start with 1 5 increment by 1 6 ), 7 name varchar2(200) 8 ); Table created.

RAC环境下的sequence详解(原创)

- - ITeye博客
在RAC环境中,序列的Cache问题可能会对性能有着决定性的影响,缺省的序列Cache值为20,这对RAC环境远远不够. 如果存在序列号使用的竞争,就可能在数据库中看到明显的队列等待:. 在RAC情况下,可以将使用频繁的序列Cache值增加到10000,或者更高到50000,这些值在客户的环境中都有采用.

分布式系统中sequence num的生成

- hikerlive - 淘宝核心系统团队博客
 当前有很多分布式系统都采用了不同方法来生成squence num,其中UUID是比较费力气和费空间的方法.在分配squence num时候,其实为了达到数据的分布和均衡效果,是应该把squence num分配给client. 现在介绍两种其他生成squence num的方法:. 1、通过config server(这个是单独的管理元数据的服务器,不同系统叫法不同,有的叫master  server,有的叫root server)来协调生成.

HTML字符实体(Character Entities),转义字符串(Escape Sequence) 为什么要用转义字符串?

- - CSDN博客推荐文章
HTML字符实体(Character Entities),转义字符串(Escape Sequence). HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用. 这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,该怎么办呢. 这就要说到HTML转义字符串(Escape Sequence)了.

HP 12c 背后的惠普

- fordchao - 爱范儿 · Beats of Bits
一个热爱数字又有念旧癖的 Geek 会喜欢这个礼物吗. 惠普(HP)三十周年纪念版——HP 12c 计算器. 用现在的审美眼光来看待 HP 12c 仍然颇具美感,它见证了惠普公司的起起落落,已经连续生产了 30 年,用高品质和高可靠性赢得了金融界和商务人士的一致好评. 印在机身底部的“HEWLETT – PACKARD”也成为了十足的金字招牌.

Oracle 12c的静默安装配置.

- - a db thinker's home
需要调整以下参数为非默认参数. 然后运行如下命令安装Database. 系统基本环境的配置,Oracle用户等的创建与早期版本一致..

ORACLE 12C varchar2支持32k长度字符串

- - 惜分飞
在Oracle的以前版本中如果要存储超过4000byte的字符串需要使用clob字段,而lob本身操作就麻烦,而且效率不高. 从12C开始Oracle提供了 VARCHAR2, NVARCHAR2, and RAW支持32k长度在字符串,大大提高了Oracle程序在处理4000到32k的字符串的处理效率.

12c ADG的同步和异步灾备方案

- -
这样既可以保证零数据丢失又可以降低主库压力. Far Sync实例只有密码文件,init参数文件和控制文件,而没有数据文件. 如果redo 传输采用Maximum Availability模式,我们可以在距离生产中心(Primary Database)相对较近的地点配置Far Sync实例,主库(Primary Database)同步(synchronous)传输redo到Far Sync实例,保证零数据丢失(zero data loss),同时主库和Far Sync距离较近,网络延时很小,因此对主库性能影响很小.

作为人生选项的跳楼

- landy - 《槽边往事》---比特海日志
通过媒体的报道,富士康公司员工经常跳楼已经逐渐变成了一种常识. 更为诡异的是,《南方日报》报道说,同日有一位应届生因为成功签约喝酒庆祝,不慎坠楼身死,那家签约的公司正是富士康. 从网上的反应来看,富士康公司正在朝着变成“都市传说”的路上大踏步前进. 为什么一开始我要说“通过媒体的报道”. 因为跳楼怕并不是富士康的专利,以中国之大,人民之众,会有多少不快乐的员工作出了更为惨烈的选择.

作为社交媒体的电话

- whs - 师北宸的网络日志
当贝尔未来的岳父贺伯德试图以十万美元将电话专利所有权转让给美国西部联盟电话公司时,西联总裁威廉·奥顿做出了让他后悔一辈子的决定,就像当年深圳电信嫌一百万太贵而拒绝收购马化腾的OICQ一样,威廉说:“这个做电玩的公司有什么用. 1876年3月10日,当亚历山大·格雷厄姆·贝尔拨通历史上第一个电话对华生说“来这里,我想见你”时*,包括威廉·奥顿在内的世人花了很长时间都没理解这玩意儿到底有什么用.