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个字符以下。

总结

以上是 Oracle 创建主键自增表示例代码 的全部内容, 来源链接: utcz.com/z/320205.html

回到顶部