oracle如何实现自增

     近日研究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  /


这样就大功告成了!

你可能感兴趣的:(oracle如何实现自增)