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

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

·对列的个数没有限制

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

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

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

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

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

转载于:https://www.cnblogs.com/abclife/p/4720467.html

Oracle 12C -- 基于sequence的列的默认值相关推荐

  1. oracle sql列默认值,sql – Oracle:指定对象类型列的默认值

    我有一个带有no-args构造函数的对象类型,但是当我将它指定为该类型列的默认值时,我得到ORA-00904:无效的标识符错误. 例: CREATE OR REPLACE TYPE test_t AS ...

  2. oracle创建列默认值,表列添加默认值的方法

    在修改表结构时,有时候会涉及到添加默认值. 下面是在11.2.0.3版本数据库中进行测试的结果: Connected to Oracle Database 11g Enterprise Edition ...

  3. Mysql 默认约束 now_MYSQL中怎样设列的默认值为Now()的介绍

    MySQL目前不支持列的Default 为函数的形式,如达到你某列的默认值为当前更新日期与时间的功能,你可以使用TIMESTAMP列类型下面就详细说明TIMESTAMP列类型 TIMESTAMP列类型 ...

  4. Oracle 12c 基于PDB种子数据库创建PDB

    在Oracle中基于PDB种子复制数据库的方式,这个与SQLServert中直接创建数据库比较类似.在SQLServer中有一个model数据库,这个库的功能就和PDB种子数据库一样,就是一个模板数据 ...

  5. SQL语句中,创建标识列、默认值及各种约束的语法介绍

    虽然创建表中字段的主外键.标识列.唯一约束.check约束等可以使用视图法创建,但最基本的还是应该会使用sql语句来创建这些吧,咱废话少说,直接上干货!!! 标识列: 在创建表的字段时加上identi ...

  6. mysql中列的默认值

    在 MySQL 中,每个字段定义都包含附加约束或者修饰符,这些可以用来增加对所输入数据的约束. NULL 和 NOT NULL 修饰符.DEFAULT 修饰符,AUTO_INCREMENT 修饰符. ...

  7. 【mysql】已经创建表后,修改某列的默认值

    简述 比如我这里已经有一个表了,teacher. 添加一个default值 这里假设设置telephone的默认值为00000000 mysql> alter table teacher alt ...

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

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

  9. oracle遇null赋默认值,使用hibernate annotation 为非空列加上默认值

    [dedecms]后台不显示验证码 原因:某个加载文件的开始处有一个标点,去掉就可显示 // 文件地址 /include/vdimgck.php @session_start(); $_SESSION ...

最新文章

  1. 怎么重启网站mysql数据库_如何重启MySQL数据库服务
  2. Jetty 9.0.0 首个里程碑出现
  3. DirectX 3D相关资源参考
  4. atomic在linux编译不通过,内存障碍和在linux上的atomic_t
  5. 解决oracle数据库连接不上的问题
  6. vb html table,VB6.0 如何是用 datatable
  7. win10配置清华源——快速安装anaconda、TensorFlow和pytorch
  8. arp 已知mac找ip_ARP协议修订版
  9. 在文件保存中 os.getcwd() os.listdir() os.makedirs() os.mkdir() xx.join() ... 等函数 的使用介绍...
  10. Web前端性能优化优秀文章集锦
  11. html在线比对工具,在线文本对比工具(mergely示例)
  12. 记一次授权的渗透测试
  13. 景区大数据可视化交互系统-全方位旅游服务平台,打造景区信息数据管理分析平台
  14. 第一篇:什么是IT行业
  15. 北京智源大会 | AI + 医疗的下一个十年:从公共卫生预警到人类基因密码解析 道翰天琼认知智能api机器人接口。
  16. 输入一串数字统计0到9每个数字的个数
  17. RLChina强化学习笔记
  18. 计算机硬件网络设备,[计算机硬件及网络]网络设备的选型.ppt
  19. button的setClickable 和 setEnabled 区别
  20. 美国心理求助电话暴涨10倍,斯坦福AI聊天机器人抚慰受伤心灵

热门文章

  1. 记录win10快捷键
  2. 2022-2028年中国橡胶漆产业发展动态及未来趋势预测报告
  3. python异常机制
  4. tensorflow问题
  5. LeetCode简单题之完成一半题目
  6. 摄像头PVD和CVD薄膜
  7. ML Pipelines管道
  8. Paddle预训练模型应用工具PaddleHub
  9. php面向对象程序设计,PHP面向对象程序设计类的定义与用法简单示例
  10. python 判断字典是否包含某个key,以及对应的value 值