好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

33

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创建主键自增表的全部内容,希望本文的内容对大家的学习或者使用Oracle带来一定的帮助,如果有疑问大家可以留言交流,小编会尽快给大家回复的。

查看更多关于Oracle 创建主键自增表示例代码的详细内容...

  阅读:23次