几乎每天都有人问此问题,给你个参考:
http://expert.csdn.net/Expert/topic/1907/1907225.xml?temp=.1886713
http://expert.csdn.net/Expert/topic/1465/1465844.xml?temp=.8864862

解决方案 »

  1.   

    create sequence sequencename increment by 1 start with 1000;
    引用时用sequencename.nextval
      

  2.   

    建立一个最小为1,最大为999999999的一个序列号会自动循环的序列
    create sequence 序列名 
    increment by 1 
    start with 1 
    maxvalue 999999999 
    cycle;当向表中插入数据时,SQL语句写法如下;
    SQL> insert into 表名 values(序列名.nextval,列1值,列2值);
      

  3.   

    create sequence SEQ_ID
    minvalue 1
    maxvalue 99999999
    start with 1
    increment by 1
    /create trigger a_tri
    before insert on a
    for each row
    as
    begin
    select seq_id.nextval into :new.id from dual;
    end;
    /
      

  4.   

    问个相关的问题,插入的时候自然会自动增加,可我要是用工具导入很多数据的话,这个自增加字段还要我不停地select seq_id.nextval into :new.id from dual;否则下次插入的时候就要报错了,是不是这样呢?有没有解决办法呢?