很多用习惯了MSSQL的同学就会经常用到ID的自增,这在MSSQL中非常容易实现,但是在Oracle中并没有这种功能,所以就需要用其他办法来实现,其实很简单,只要创建一个触发器、一个序列即可,在插入数据时触发这个触发器,然后触发器从序列中取出下一个ID值插入表中,就OK了,下面是一个简单的例子:
1、创建表example:
create table example( id number(4) not null primary key, name varchar(25), phone varchar(15), address varchar(50) );
2、创建序列sql_example:
create sequence seq_example increment by 1 --每次加几个 startwith 1 --从1开始计数 nomaxvalue --不设置最大值 nocycle --直累加,不循环 cache10 ;
3、创建触发器tri_example:
create trigger tri_example before insert on example for each row when (new.id is null) begin select seq_example.nextval into: example.id from dual; end;4、像MSSQL中一样插入数据(不需要加ID的哦,因为触发器已经帮你完成了~)
insert into example (name, phone, address) Values ('admin', 'admin', 'Heibei');