网上广泛应用的oracle自增ID方法:
一、建立表,用于Demo:
create table t (n number ,v varchar2(10));
二、建立序列:
create sequence t _sequence /*序列名*/ increment by 1 start with 1 nomaxvalue nocycle;
三、用SQL插入或者用触发器:
1、用sql插入:
a、insert into t values(t _sequence .nextval,'test'); /*t _sequence是 序列名*/
b、select t _sequence .nextval into 参数名 from dual; 然后在重用该序列号的地方调用这个参数。
因为自己用的是在.net 下面用EntityManager实现,所以采用了以上方法。
2、利用oracle 本身的触发器:
create or replace trigger t_trg before insert or update on t for each row begin select a_sequence.nextval into :new.n from dual; end;
直接利用触发器:insert into t values('ok'); 利用 触发器 的方法个人尝试有误,找不到原因,如知道正确方法,希望大家告知。
参考文章:http://dev.csdn.net/article/70/70137.shtm