对呀,必须先执行t1100_sequence.nextval from dual 后,才能成功执行t1100_sequence.currval from dual ,如果先执行t1100_sequence.nextval from dual ,序列的值就有增加了1。

解决方案 »

  1.   

    楼上说得对,在oracle中药获得序列的当前值就必须先执行一下.nextval方法,不然就会报错
      

  2.   

    查到原因:
    如果你连接到数据库后没有在取nextval之后再取currval,就会出现ORA-08002出错.
    因此对每一个session来说,应该先用nextval,才可以取currval。
    但是有什么方法能够取到currval,而且不让序列增加的呢?
      

  3.   

    query data dict table user_sequences, 
    you will get what you want...