Oracle列自增实现(3)-DEFAULT Values Using Sequences
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle列自增实现(3)-DEFAULT Values Using Sequences,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1866字,纯文字阅读大概需要3分钟。
内容图文
Oracle 12c中,可以使用序列的NEXTVAL
and CURRVAL
的值作为默认值,来实现列自增!
一、使用序列的NEXTVAL
and CURRVAL
的值作为默认值
创建序列
CREATE SEQUENCE t1_seq;
建表
CREATE TABLE t1 ( id NUMBER DEFAULT t1_seq.NEXTVAL, description VARCHAR2(30) );
插入数据
INSERT INTO t1 (description) VALUES (‘DESCRIPTION only‘); INSERTINTO t1 (id, description) VALUES (999, ‘ID=999 and DESCRIPTION‘); INSERTINTO t1 (id, description) VALUES (NULL, ‘ID=NULL and DESCRIPTION‘);
查询结果
SELECT * FROM t1;
二、默认值明确为非空
创建两个序列
CREATE SEQUENCE default_seq; CREATE SEQUENCE default_on_null_seq;
建表,col1和col2分别使用上面两个序列的NEXTVAL作为默认值,其中col2 DEFAULTONNULL
CREATE TABLE t2 ( col1 NUMBER DEFAULT default_seq.NEXTVAL, col2 NUMBER DEFAULT ON NULL default_on_null_seq.NEXTVAL, description VARCHAR2(30) );
插入数据
INSERT INTO t2 (description) VALUES (‘DESCRIPTION only‘); INSERTINTO t2 (col1, col2, description) VALUES (999, 999, ‘999,999,DESCRIPTION‘); INSERTINTO t2 (col1, col2, description) VALUES (NULL, NULL, ‘NULL,NULL,DESCRIPTION‘);
查询数据,可以看到col2位NULL时候,被默认转换使用了default_on_null_seq.NEXTVAL的
SELECT * FROM t2;
三、例子:主从表的简单例子
CREATE SEQUENCE master_seq;
CREATE SEQUENCE detail_seq;
CREATE TABLE master (
id NUMBER DEFAULT master_seq.NEXTVAL,
description VARCHAR2(30)
);
CREATE TABLE detail (
id NUMBER DEFAULT detail_seq.NEXTVAL,
master_id NUMBER DEFAULT master_seq.CURRVAL,
description VARCHAR2(30)
);
INSERT INTO master (description) VALUES (‘Master 1‘);
INSERT INTO detail (description) VALUES (‘Detail 1‘);
INSERT INTO detail (description) VALUES (‘Detail 2‘);
INSERT INTO master (description) VALUES (‘Master 2‘);
INSERT INTO detail (description) VALUES (‘Detail 3‘);
INSERT INTO detail (description) VALUES (‘Detail 4‘);
SELECT * FROM master;
SELECT * FROM detail;
原文:
DEFAULT Values for Table Columns : Enhancements in Oracle Database 12c Release 1 (12.1)
原文:http://www.cnblogs.com/xqzt/p/4455171.html
内容总结
以上是互联网集市为您收集整理的Oracle列自增实现(3)-DEFAULT Values Using Sequences全部内容,希望文章能够帮你解决Oracle列自增实现(3)-DEFAULT Values Using Sequences所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。