码迷,mamicode.com
首页 > 数据库 > 详细

Oracle 创建主键自增表

时间:2016-10-17 23:26:08      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

介绍

 本篇文章主要介绍在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;  


--创建触发器,如果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 创建主键自增表

标签:

原文地址:http://www.cnblogs.com/chenmh/p/5970361.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!