近日研究oracle想写一个自增的字段,发现没有那样的关键字。查阅资料发现可以用序列和触发器共同来实现。现在我们创建一个简单的表:
create table test(
id int,
name varchar2(30)
)
在创建一个序列,SQL语句如下:
SQL> create sequence test_sequence
2 minvalue 10001
3 maxvalue 9999999
4 start with 10001
5 increment by 1
6 nocache
7 order;
再创建一个触发器就可以了
SQL> create or replace trigger test_trigger
2 before insert on test
3 for each row
4 begin
5 select test_sequence.nextval into :new.id from sys.dual;
6 end;
7 /
这样就大功告成了!