Oracle自增列创建方法

Oracle没有自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现。


先建一个测试表了:

create table userlogin (
     id   number(6) not null,
     name   varchar2(30)   not null primary key ) ;

第一步:创建SEQUENCE

create sequence userlogin_seq increment by 1 start with 1 minvalue 1 maxvalue 9999999999999 nocache order;


第二步:创建一个基于该表的before insert 触发器,在触发器中使用刚创建的SEQUENCE

create or replace trigger userlogin_trigger 
before insert on userlogin
for each row 
begin 
      select   userlogin_seq.nextval   into:new.id from sys.dual ; 
end;
/


第三步:在userlogin表中测试


写个insert语句,插入一条记录,看ID字段自增了没,自增则OK 了!




请使用浏览器的分享功能分享到微信等