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;
/