oracle实现id自增

2017-04-23  本文已影响94人  江绫

1.建表

oracle没有int 类型,使用 NUMBER类型

create tablefiles(

"id"NUMBER not null

primary key,

"softwareid" NUMBER not null,

"path"  VARCHAR2(400)  not null

)

2.oracle 设置id字段自增可用identify属性,但11g以前的版本要自己建索引序列

CREATE SEQUENCE FILES_SEQ

INCREMENT BY 1

START WITH 1

MAXVALUE 999999999

NOCYCLE

NOCACHE;

创建索引序列后,每次插入时将“id”的值设置为FILES_SEQ,id字段实现自增

3.如果想要更方便,我们设置触发器

//创建一个触发器,在插入的“id”值为空的时候,使用FILES_SEQ
索引序列

create trigger FILES_ID_SEQ_TRG

before insert

on"FILES"

for each row when(NEW."ID"IS  NULL)

BEGIN

SELECT FILES_SEQ.NEXTVAL

INTO:NEW."ID"

FROM DUAL;

END;

上一篇 下一篇

猜你喜欢

热点阅读