oracle数据库自增

1、创建sequence

create sequence seq_seq1

minvalue 1

maxvalue 99999999999999

start with 1

increase by 1

chache 20;

 

如果指定CACHE值,oracle就可以预先在内存里面放置一些sequence,这样存取的快些。
cache里面的取完后,oracle自动再取一组到cache。 使用cache或许会跳号, 比如数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以可以在create sequence的时候用nocache防止这种情况。

 

2、创建触发器

create or replace trigger tri_table1_bi

before insert on table1 for each row

begin

  select seq_seq1.nextval into :new.id from dual;

end;

/

你可能感兴趣的:(Oracle,oracle,数据库,cache,table,insert,each)