1.建序列使得递增
例子:
create table ce_book_log(
id number not null,
state number,
content varchar(200) default null,
bookid varchar(200) default null,
booktitle varchar(200) default null,
createat varchar(50) default null,
constraint PK_ce_book_log primary key (id)
);
create sequence ce_book_log_sequence
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
nocache;
CREATE OR REPLACE TRIGGER ce_book_log_trigger
BEFORE INSERT ON ce_book_log
FOR EACH ROW
BEGIN
SELECT ce_book_log_sequence.nextval INTO :new.id FROM dual;
END;
如果指定CACHE值,ORACLE就可以预先在内存里面放置一些sequence,这样存取的快些。cache里面的取完后,oracle自动再取一组到cache。 使用cache或许会跳号, 比如数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以可以在create sequence的时候用nocache防止这种情况。
oracle新建数据表主键实现自动递增
猜你喜欢
转载自577439237.iteye.com/blog/2275832
今日推荐
周排行