Oracle 创建主键自增表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 创建主键自增表相关的知识,希望对你有一定的参考价值。
介绍
本篇文章主要介绍在oracle中如果创建自增长表,这里要用到序列。
create table tb_student ( id NUMBER(10) not null, createtime DATE not null, constraint PK_tb_student primary key (id) ); comment on table "tb_student" is \'学生表\'; comment on column "tb_student"."id" is \'主键id\'; comment on column "tb_student"."createtime" is \'创建时间\'; --创建序列 create sequence seq_tb_student minvalue 1 nomaxvalue start with 1 increment by 1 nocycle --一直累加,不循环 --nocache; --不缓存 cache 10; --缓存10条 --创建触发器,如果insert语句不指定ID自动插入增长值 CREATE OR REPLACE TRIGGER tr_tb_student BEFORE INSERT ON tb_student FOR EACH ROW WHEN (new.id is null) begin select seq_tb_student.nextval into:new.id from dual; end;
注意:触发器是非必须的,可以从业务上严格要求指定插入值。
总结
注意oracle限制对象名的字符长度不能超过30个字符,所以表名要控制在一定的长度否则后面创建序列可能会超过限制,建议表名控制在27个字符以下。
备注: 作者:pursuer.chen 博客:http://www.cnblogs.com/chenmh 本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。 《欢迎交流讨论》 |
以上是关于Oracle 创建主键自增表的主要内容,如果未能解决你的问题,请参考以下文章