ORA-08002 sequence string.CURRVAL is not yet defined in this session
Cause: Sequence CURRVAL has been selected before sequence NEXTVAL. Action: Select NEXTVAL from the sequence before selecting CURRVAL 

解决方案 »

  1.   

    to  yu_shi_bin(清风) :在引用currval之前,已经有一条sql语句引用nextval了啊
      

  2.   

    你是不是按照
    http://expert.csdn.net/Expert/topic/1461/1461101.xml?temp=.3267023
    中所说的,drop后又重建了?然后未select seq1.nextval而直接select seq1.currval了?
    只是猜测! ^-^
      

  3.   

    to Lastdrop(空杯)兄:我还没有这样试(将ddl写入存储过程),还是用以前的版本测试了一下,怀疑在存储过程中的多个sql语句的执行顺序是不是有特殊的说明?还是按照程序中的顺序?
      

  4.   

    是不是有什么判断条件,导致应该先执行的select seq1.nextval未执行或被移后执行?
      

  5.   

    to  Lastdrop(空杯):哦,一语惊醒梦中人啊,有可能这样,我的最前面的sql语句是insert语句,这条语句利用having子句根据count()的统计值决定是否插入,而插入语句中就引用了序列seq1.nextval。我应该在前面加一个空的select语句引用seq1.nextval来保证执行正确。
    谢谢Lastdrop(空杯)兄 *^_^*