各位用户为了找寻关于Oracle 创建主键自增表示例代码的资料费劲了很多周折。这里教程网为您整理了关于Oracle 创建主键自增表示例代码的相关资料,仅供查阅,以下为您介绍关于Oracle 创建主键自增表示例代码的详细内容
前言
本篇文章给大家主要介绍的是在oracle中如果创建自增长表的方法,这里要用到序列。下面话不多说,我们来看示例代码。
示例代码
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33create
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创建主键自增表的全部内容,希望本文的内容对大家的学习或者使用Oracle带来一定的帮助,如果有疑问大家可以留言交流,小编会尽快给大家回复的。