START WITH CREATE SEQUENCE MY_SEQ
INCREMENT BY 1
START WITH 100
NOMAXVALUE
NOCYCLE
CACHE 10;
ORACLE缺省指定NOORDER:如果在并行服务器的并行模式下工作,必须使用ORDER,确保顺序生成序列值。
可以递减创建序列,指定INCREMENT BY –1
可以循环使用序列:指定CYCLE

解决方案 »

  1.   

    CREATE SEQUENCE myNO INCREMENT BY 1 START WITH 1 
    MAXVALUE 1.0E28 MINVALUE 1 CYCLE 
    NOCACHE NOORDER;
    /SQL> select myno.nextval from dual;   NEXTVAL
    ----------
             1SQL> alter sequence myno increment by 999;Sequence alteredSQL> select myno.nextval from dual;   NEXTVAL
    ----------
          1000SQL> alter sequence myno increment by 1;Sequence alteredSQL> select myno.nextval from dual;   NEXTVAL
    ----------
          1001SQL> alter sequence myno increment by -999;Sequence alteredSQL> select myno.nextval from dual;   NEXTVAL
    ----------
             2
      

  2.   

    用动态sql创建应该可以了
    ....
    t_str varchar2(200);
    begin
    t_str := 'SEQUENCE myNO INCREMENT BY 1 START WITH '||t_startnum||'MAXVALUE 1.0E28 MINVALUE 1 CYCLE 
    NOCACHE NOORDER';
    execute immediate t_str;
    end;
    /
      

  3.   

    create sequence sequence_name increment by '||step||' start with '||start_num||' maxvalue 1.0E28 MINVALUE 1 CYCLE 
    NOCACHE NOORDER