ORACLE没有象SQL SERVER中一样的自增加字段,
要实现只能通过SEQUENCE来实现1.创建序列:
create sequence your_seq
nocycle
maxvalue 9999999999
start with 1;2.使用触发器实现自增:
create or replace trigger your_seq_tri
before insert on your_table1 for each row
declare
  next_id number;
begin
  select your_seq.nextval into next_id from dual;
  :new.id := next_id;
end;

解决方案 »

  1.   

    CREATE SEQUENCE USERID INCREMENT BY 1 START WITH 1 
        MAXVALUE 1.0E28 MINVALUE 1 NOCYCLE 
        NOCACHE NOORDER;
    /
    CREATE OR REPLACE TRIGGER USERADD
    BEFORE INSERT ON MEMBERRG
    FOR EACH ROW
    BEGIN
        SELECT LPAD(USERID.NEXTVAL,4,'0') INTO :NEW.NUM FROM DUAL;
    END;
    /
      

  2.   

    create sequence seqid increment by 1 start with 1 nocycle
    -----------------------------------------------------------
    INSERT INTO ora.tblname
     VALUES(ora.seqid.NEXTVAL,'AAA');
      

  3.   

    oracle 中没有自增数据类型,用序列发生器(sequence)