Oracle 12C -- 基于sequence的列的默认值
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的列的默认值相关推荐
- oracle sql列默认值,sql – Oracle:指定对象类型列的默认值
我有一个带有no-args构造函数的对象类型,但是当我将它指定为该类型列的默认值时,我得到ORA-00904:无效的标识符错误. 例: CREATE OR REPLACE TYPE test_t AS ...
- oracle创建列默认值,表列添加默认值的方法
在修改表结构时,有时候会涉及到添加默认值. 下面是在11.2.0.3版本数据库中进行测试的结果: Connected to Oracle Database 11g Enterprise Edition ...
- Mysql 默认约束 now_MYSQL中怎样设列的默认值为Now()的介绍
MySQL目前不支持列的Default 为函数的形式,如达到你某列的默认值为当前更新日期与时间的功能,你可以使用TIMESTAMP列类型下面就详细说明TIMESTAMP列类型 TIMESTAMP列类型 ...
- Oracle 12c 基于PDB种子数据库创建PDB
在Oracle中基于PDB种子复制数据库的方式,这个与SQLServert中直接创建数据库比较类似.在SQLServer中有一个model数据库,这个库的功能就和PDB种子数据库一样,就是一个模板数据 ...
- SQL语句中,创建标识列、默认值及各种约束的语法介绍
虽然创建表中字段的主外键.标识列.唯一约束.check约束等可以使用视图法创建,但最基本的还是应该会使用sql语句来创建这些吧,咱废话少说,直接上干货!!! 标识列: 在创建表的字段时加上identi ...
- mysql中列的默认值
在 MySQL 中,每个字段定义都包含附加约束或者修饰符,这些可以用来增加对所输入数据的约束. NULL 和 NOT NULL 修饰符.DEFAULT 修饰符,AUTO_INCREMENT 修饰符. ...
- 【mysql】已经创建表后,修改某列的默认值
简述 比如我这里已经有一个表了,teacher. 添加一个default值 这里假设设置telephone的默认值为00000000 mysql> alter table teacher alt ...
- Oracle 12C -- 在相同的列的集合上创建多个索引
在12C中,可以在相同的列的集合上创建多个索引,但是多个索引的类型要不同.同一时刻,只有一个是可见的. SQL> create table emp_tab as select * from em ...
- oracle遇null赋默认值,使用hibernate annotation 为非空列加上默认值
[dedecms]后台不显示验证码 原因:某个加载文件的开始处有一个标点,去掉就可显示 // 文件地址 /include/vdimgck.php @session_start(); $_SESSION ...
最新文章
- 怎么重启网站mysql数据库_如何重启MySQL数据库服务
- Jetty 9.0.0 首个里程碑出现
- DirectX 3D相关资源参考
- atomic在linux编译不通过,内存障碍和在linux上的atomic_t
- 解决oracle数据库连接不上的问题
- vb html table,VB6.0 如何是用 datatable
- win10配置清华源——快速安装anaconda、TensorFlow和pytorch
- arp 已知mac找ip_ARP协议修订版
- 在文件保存中 os.getcwd() os.listdir() os.makedirs() os.mkdir() xx.join() ... 等函数 的使用介绍...
- Web前端性能优化优秀文章集锦
- html在线比对工具,在线文本对比工具(mergely示例)
- 记一次授权的渗透测试
- 景区大数据可视化交互系统-全方位旅游服务平台,打造景区信息数据管理分析平台
- 第一篇:什么是IT行业
- 北京智源大会 | AI + 医疗的下一个十年:从公共卫生预警到人类基因密码解析 道翰天琼认知智能api机器人接口。
- 输入一串数字统计0到9每个数字的个数
- RLChina强化学习笔记
- 计算机硬件网络设备,[计算机硬件及网络]网络设备的选型.ppt
- button的setClickable 和 setEnabled 区别
- 美国心理求助电话暴涨10倍,斯坦福AI聊天机器人抚慰受伤心灵