create sequence sequencename start with 1  increment by 1 minvalue 1 maxvalue 99999 nocycle cache 20 noorder;select sequencename.nextval from dual;//取下一个
select sequencename.currtval from dual;//取当前

解决方案 »

  1.   

    创建序列:
     CREATE SEQUENCE seq_name
      INCREMENT BY 1
      START WITH 1
      MINVALUE 1
      MAXVALUE 999999999
      CYCLE
      NOORDER
      CACHE 50
     /
    使用序列:
    SELECT LTRIM(TO_CHAR(seq_name.NEXTVAL,'000000000')) INTO v_var FROM DUAL;
      

  2.   

    建sequence seq_custid 
       create sequence seq_custid start 1 incrememt by 1; 
    建表时: 
    create table cust 
    { cust_id smallint not null, 
    ...} 
    insert 时: 
    insert into table cust 
    values( seq_cust.nextval, ...)
      

  3.   

    sequence
    Suggest you use Toad.
    It's cool!
      

  4.   

    用前面提到的SEQUENCE+TRIGGER一起使用。
    CREATE OR REPLACE TRIGGER TABLE_BI
    BEFORE INSERT ON TABLENAME
    FOR EACH ROW
    BEGIN
      SELECT SEQUENCE.NEXTVAL INTO :NEW.field FROM DUAL;
    END;