Oracle插入数据并获取自增长序列ID方法
-----------------------------------------------------------------------------------------------------------------
Oracle插入数据并获取自增长序列ID方法,本文要说的有两部分,一个是创建自增长序列,另一个是如何在插入数据后获取相应的自增长ID,具体如下:
创建表atable(id,a) ,其中id需要自增,那么我们来创建一个序列:
create sequence seq_atable minvalue 1 maxvalue 9999999 start with 1 increment by 1 nocache
有二种方式使用自增字段:
使用序列和触发器实现自增,插入语句不需要管自增字段
如:create or replace trigger trg_atable before insert on atable for each row begin select seq_atable.nextval into :new.id from dual; end;
插入数据:insert into atable(a) values('test');
注:我创建了sequence 和trigger :,之后在procedure中插入数据,插入的时候没有管ID字段,在应用中,使用了hibernate,虽然hibernate在增加记录的时候也会处理ID,但是添加记录之后,查询记录发现,ID还是根据序列和触发器的规则设置的
仅使用序列,需要在插入数据时,自增字段插入序列下一个值
如:insert into atab
Oracle 系列知识点(一)
