本帖最后由 suihu 于 2010-12-14 09:54:33 编辑

解决方案 »

  1.   

    对的啊,因为你表A,B列都是调用序列生成的数据,序列每nextval一次就会递增1
      

  2.   

    --你要想实现那样的话,可以通过trigger来做:
    CREATE OR REPLACE TRIGGER trg_testa
    BEFORE INSERT ON testa
    FOR EACH ROW 
    BEGIN
         :NEW.b:=:NEW.a;
    END;/* 向testa表插入数据 */
    INSERT INTO testa(a) VALUES(myseq.NEXTVAL) ;
    INSERT INTO testa(a) VALUES(myseq.NEXTVAL);
    INSERT INTO testa(a) VALUES(myseq.NEXTVAL) ;
      

  3.   

    As defined, the first reference to order_seq.NEXTVAL returns the value 1. Each subsequent statement that references order_seq.NEXTVAL generates the next sequence number (2, 3, 4,. . .). The pseudo-column NEXTVAL can be used to generate as many new sequence numbers as necessary. However, only a single sequence number can be generated for each row. In other words, if NEXTVAL is referenced more than once in a single statement, then the first reference generates the next number, and all subsequent references in the statement return the same number.
      

  4.   

    对一条语句,sequence.nextval只取一次.感谢楼主,以前还真没注意到这个.