oracle12c 自增长,oracle 12c新特性– 自增长(IDENTITY)字段 | 信春哥,系统稳,闭眼上线不回滚!...

在12c的新特性中,自增长字段是个亮点,用自增长字段做主键就方便多了,MYSQL和SQL SERVER很早就有这样类型的字段了,ORACLE直到12C才整出自增长字段。本案例主要测试自增长字段、用序列做字段的默认值和用序列填充空值几个新特性,由于这三个新功能ORACLE总结到了一起叫Identity Columns,就一起测试下,下面是官方文档对自增长字段的介绍。

Identity Columns

Oracle Database 12c Release 1 implements ANSI-compliant IDENTITY columns. Migration from database systems that use identity columns is simplified and can take advantage of this new functionality.

This feature implements auto increment by enhancing DEFAULT or DEFAULT ON NULL semantics for use by SEQUENCE.NEXTVAL and SYS_GUID, supports built-in functions and implicit return of default values.

Example 1-1 creates a table with an identity column, which generated by default. When explicit nulls are inserted into the identity column, the default behavior is to use the sequence generator. For further details, see Oracle Database SQL Language Reference.

在12c的官方文档的create table语法不分可以看到自增长字段的语法介绍。

48c557a04c14132fd54dd2a6df5bf455.png

095aefca900122b80fa259af18e5699d.png

下面测试下自增长字段。

首先创建一张GENERATED ALWAYS属性的自增长字段。

SQL> create table iden_test(id number GENERATED ALWAYS AS IDENTITY,name varchar2(10));

Table created.

官方文档也介绍了,自增长字段是调用的序列,那么能否查到这个序列呢?

SQL> select object_name,object_type from user_objects;

OBJECT_NAME OBJECT_TYPE

------------ -----------

ISEQ$$_91615 SEQUENCE

IDEN_TEST TABLE

ORACLE自动创建了名字叫ISEQ$$_91615的序列,那看看这个序列的属性是什么样的。

SQL> select SEQUENCE_NAME,MIN_VALUE,MAX_VALUE,INCREMENT_BY,

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值