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;
–创建触发器,如果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个字符以下。
总结
本篇文章到此结束,如果您有相关技术方面疑问可以联系我们技术人员远程解决,感谢大家支持本站!