12C支持先创建一个sequence,然后再将该sequence指定为某个列的值的默认表达式。

和"identity column"具有以下不同点:

·对列的个数没有限制

·sequence必须在列定义之前定义

·如果删除了sequence,会导致后面的insert报错

·表的owner,和使用者对该sequence必须有select权限

·可以手动插入、更新该列(不使用sequence产生的值)

SQL> drop sequence test_seq;
SQL> create sequence test_seq start with ;
SQL> drop table sequence_test_tab;
SQL> create table sequence_test_tab(id number default test_seq.nextval);
SQL> insert into sequence_test_tab values(null);
SQL> insert into sequence_test_tab values(null);
SQL> insert into sequence_test_tab values(default);
SQL> insert into sequence_test_tab values(default);
SQL> insert into sequence_test_tab values();
SQL> commit; --结果显示可以插入null、字面值,而不使用sequence的值。插入default值的时候就使用sequence的值。
SQL> select * from sequence_test_tab; ID
---------- SQL> select count(*) from sequence_test_tab; COUNT(*)
---------- SQL> --插入数据时,如果没有指定该列,也会使用sequence的值来默认插入
alter table sequence_test_tab add (col_2 number);
insert into sequence_test_tab(col_2) values();
SQL> select * from sequence_test_tab; ID COL_2
---------- ---------- rows selected. SQL>

Oracle 12C -- 基于sequence的列的默认值的更多相关文章

  1. 使用hibernate annotation 为非空列加上默认值

    在网上查了很多资料都没找到如何为非空列加上默认值 以前的做法是给字段一个初始值,加上dynamic-insert属性 换了annotation了以后没有找到如何设置dynamic-insert属性 但 ...

  2. sql 列设置默认值,语法查询知识点积累

    一.修改字段默认值 alter table 表名 drop constraint 约束名字   ------说明:删除表的字段的原有约束 alter table 表名 add constraint 约 ...

  3. SQLServer判断指定列的默认值是否存在,并修改默认值

    SQLServer判断指定列的默认值是否存在,并修改默认值 2008年10月21日 星期二 下午 12:08 if exists(select A.name as DefaultName,B.name ...

  4. Oracle 12C -- Identity Columns(标识列)

    Identity Columns很适合数据库中需要"surrogate keys"的场景.依赖sequence产生器,每行的标识列会被赋予一个自增或自减的值.缺省,标识列在创建的时 ...

  5. ORACLE 12C Identity Column(身份列) 实现自增长字段

    Oracle 12c提供的Identity Column特性简化了自增字段的定义. 声明自增字段通常有3种常见的用法,以下三种方式都支持INSERT语句中省略自增字段的插入,但有些许差别. 1. GE ...

  6. SQL Server2008为表的某列设置默认值为SQL Server函数

      例如,设置SQL Server函数GETDATE()作为默认值:

  7. SQLServer------查询结果为空的列赋默认值

    ISNULL(字段,默认值) 如:SELECT ISNULL(name,'无名') FROM [User]

  8. Oracle 12c的自增列Identity Columns

    在Oracle的12c版本中,Oracle实现了类似MySQL中的auto_increment的自增列,下面我们看一起Oracle是怎么实现的. Oracle Database 12c Enterpr ...

  9. Oracle 12C -- 在相同的列的集合上创建多个索引

    在12C中,可以在相同的列的集合上创建多个索引,但是多个索引的类型要不同.同一时刻,只有一个是可见的. SQL> create table emp_tab as select * from em ...

随机推荐

  1. php5.3升级脚本

    在lanmp/wdcp/wdOS的当前版本中,默认的php都是用到5.2.17的版本如需要升级到php5.3的,可使用如下脚本升级(注:此升级无安全漏洞等原因,只为某些追求高版本或应用需求需要高版本, ...

  2. .NET Framework System.Array.Sort 数组类,加深对 IComparer、IComparable 以及泛型委托、匿名方法、Lambda 表达式的理解

    本文内容 自定义类 Array.Sort 参考资料 System.Array.Sort 有很多对集合的操作,比如排序,查找,克隆等等,你可以利用这个类加深对 IComparer.IComparable ...

  3. Python过滤emoji

    参考博客:http://my.oschina.net/jiemachina/blog/189460 1. 将emoji表情替换为指定字符串 import re def filter_emoji(des ...

  4. Spring 开发环境搭建(二)

    为了方面,直接使用eclipse,创建maven工程,创建成功之后 一.修改pom.xml,为了方面我就把Spring相关的jar包都引用了 <project xmlns="http: ...

  5. 算法笔记_216:第六届蓝桥杯软件类校赛部分真题(Java语言C组)

    目录 1 题目一 2 题目二 3 题目三 4 题目四 5 题目五 前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 题目一 二项式的系数规律,我国数学家很早就发现了. 如[图1.png],我国南宋数学 ...

  6. python转换html到pdf文件

    1.安装wkhtmltopdf Windows平台直接在 http://wkhtmltopdf.org/downloads.html 下载稳定版的 wkhtmltopdf 进行安装,安装完成之后把该程 ...

  7. 移动端自适应布局 rem方案

    1.viewport.js (function(window, document) { // 给hotcss开辟个命名空间,别问我为什么,我要给你准备你会用到的方法,免得用到的时候还要自己写. con ...

  8. vue 构建版本 选择

    1.vue构建版本 vue构建版本分为:UMD.CommonJS和ES Module 三种. https://cn.vuejs.org/v2/guide/installation.html 区别: 所 ...

  9. Python学习笔记二:函数式编程

    1:Python中,内置函数名相当于一个变量,指向内置函数.所以可以通过函数名调用相应函数,也可以给函数名赋值,改变它的内容,如:可以把另一个函数变量赋值给它,那它就指向了所赋值的函数了. 2:高级函 ...

  10. Axure 图片轮播(广告通栏图片自动播放效果)

    baiduYunpan:http://pan.baidu.com/s/1eRPCy90 里面的“图片轮播”部件即可实现这个功能