create sequence TEST_SEQUENCE1
minvalue 1
maxvalue 100000
start with 1
increment by 1
nocache;

解决方案 »

  1.   

    oracle里面基本上大家都是通过sequece来实现自动增加的id
    sequence.nextval
    sequence.currval
      

  2.   

    1.Create a sequence:
    CREATE SEQUENCE SEQ_TEST START WITH 1 INCREMENT BY 1;2. Create a table has one field name id:CREATE TABLE T_TEST (ID NUMBER, NAMES VARCHAR2(30));3. Create a trigger for the table when insert action:CREATE OR REPLACE TRIGGER TRI_TEST
    BEFOR INSERT ON T_TEST
    FOR EACH ROW
    BEGIN
        SELECT SEQ_TEST.NEXTVAL INTO :NEW.ID FROM DUAL;
    END;随便问一句CDC的吗,要不怎么这么巧都今天早上遇到这个问题?
      

  3.   

    你也可以使用rowid ,字段和rownum属于同一类型,是隐藏型字段,该字段的值是不重复的,或许就是你所谓的递增
      

  4.   

    方法:
    1.创建sequence就可以
    create sequence seq_name
    minvalue 1
    maxvalue 999999999999999999
    start with 1
    increment by 1
    cache 20;
    可以直接在插入时调用seq_name.nextval;
    如insert into table_name(proid) values(seq_name.nextval);2.也可以创建触发器(同时要创建sequence):
    create or replace trigger trg_name
    before insert on table_name
    for each row
    begin
    select seq_name.nextval into :new.proid from dual;
    end;
    /