对表insert 时 ,执行回滚,序列是不回滚的!

解决方案 »

  1.   

    各位大虾什么意思啊?
    我是经常往表里添加记录的
    insert into mytalbe values(myseq.nextval...)
    这样的。
    我该怎么控制它让它按序增长呢?
      

  2.   

    另建立,myOrder ( id   number(5));if insert into mytalbe values ( select max(id) from myOrder, ....) 成功 then
       insert into myOrder values(myseq.nextval...)
       commit;
    else
       rollback;
    end if
      

  3.   

    谢谢。
    请问序列的断值是如何产生的?
    如果我插入数据记录时出现了异常,是不是myseq.nextval也执行了一次啊?
    我没有经常插入后rollback,但也出现了这个情况。
    郁闷!
      

  4.   

    如果我插入数据记录时出现了异常,是不是myseq.nextval也执行了一次啊?
    是的
      

  5.   

    你用了Cache吧,
    你重新建立序列,使用nocache:
     CREATE SEQUENCE Seq_iDeptCode 
    START WITH 1 
    INCREMENT BY 1 
    MAXVALUE 999 
    NOCACHE 
    ~~~~~~~~
    ORDER ;