1、创建一个序列
CREATE SEQUENCE SEQ
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOMINVALUE
CYCLE 
CACHE 20
ORDER 2、用序列
SELECT SEQ.nextval from dual;

解决方案 »

  1.   

    先建立一个序列
    CREATE SEQUENCE K.S_JBJHJ
    INCREMENT BY 1
    START WITH 21
    NOMAXVALUE
    NOMINVALUE
    NOCYCLE 
    CACHE 20
    NOORDER 
    然后再对你要的表建立触发器(在其中调用)CREATE OR REPLACE TRIGGER K.T_JBJHJ
    BEFORE INSERT 
    ON KJGL.KJ_JBJBJ
    REFERENCING OLD AS OLD NEW AS NEW
    FOR EACH ROW 
    BEGIN  select s_jbjhj.nextval into :new.id from dual;
    END;
      

  2.   

    update Table
    set id(自动id)=rownum
      

  3.   

    如果你是在插入数据想自加id是也可以这样取得id号
    select max(id)+1 from table
      

  4.   

    个人认为还是建立一个序列比较好,有效控制并发访问,防止冲突!
    同意wangybyangxr(王永斌) 和hsj20041004(光芒) 的观点。
      

  5.   

    写一个函数,然后在insert之前调用函数得到一个新得id,