Oracle 创建主键自增表(转载)
原文出处:http://www.cnblogs.com/chenmh/p/5970361.html
本篇文章主要介绍在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;

浙公网安备 33010602011771号