select ID,AA,BB from CC where ID=SEQ_ID.nextVal;

解决方案 »

  1.   

    出错信息:此处不允许序号,好象是说不能加到where子句中
      

  2.   

    测试表明,条件句中不允许直接用sequence甚至不允许下面的操作:
    select * from fnd_user a where a.user_id = (select seq_name.nextval from dual)
      

  3.   

    你只能用存储过程搞定了,先求SEQ_ID.nextVal放入一个变量 temp ,然后再返回select * from fnd_user a where a.user_id = temp
      

  4.   

    更加确切的说:
    在同一个会话中,必须首先获取sequence的nextval,才能获取currval的!
      

  5.   

    create package test_age
    num number;
    as
    select seq_name.CurrVal into num from dual;
    end;
    /
    select ID,AA,BB from CC where ID=test_age.num;
      

  6.   

    我怀疑上面这个存储过程执行是否可以通过。
    因此文档上说在同一个会话中,必须先获取.nextval,才能开始使用.currval.
      

  7.   

    楼上说的对,只能先获取.nextval,才能开始使用.currval.