自动给号,在Oracle中,是通过序号+触发器来实现的建一个序列create sequence a_seq increment by 1 start with 100;建一个触发器create or replace trigger t_abefore insert on afor each rowbeginselect s_a.nextval into :new.b from dual;end;

解决方案 »

  1.   

    看看有没有帮助
    http://community.csdn.net/Expert/topic/3704/3704133.xml?temp=.4912683
      

  2.   

    看看有没有帮助
    http://community.csdn.net/Expert/topic/3704/3704133.xml?temp=.4912683
      

  3.   

    建一个序列!
    CREATE SEQUENCE "SH"."AA" INCREMENT BY 1 START WITH 1 MAXVALUE 
        1.0E28 MINVALUE 1 NOCYCLE 
        CACHE 20 NOORDER在触发器中写:
    insert into table1 values(aa.nextval.....)
      

  4.   

    思路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;
      

  5.   

    思路2: 建一张表id_tb存储 最大序号
    插入数据时 
    SELECT ID INTO V_ID FROM ID_TB WHERE ROWNUM = 1 FOR UPDATE;
    INSERT INTO TABLE_NAME(ID,...) VALUES(V_ID,...);
    UPDATE SET ID_TB ID = ID+1;
    COMMIT;