序列有问题吧
CREATE SEQUENCE seqname
  MINVALUE 1
  MAXVALUE 999999999999999999999999999
  INCREMENT BY 1
  NOCYCLE
  NOORDER
  CACHE 20
/
试试看

解决方案 »

  1.   

    有了同义词的话,直接在用户a下:
    grant select on SEQ1 to B;
      

  2.   

    conn /as sysdba
    create public synonym seq1 for a.seq1;
    conn b/b
    select seq1.currval from dual;
      

  3.   

    我认为:
    A用户有SEQ1
    B用户如果想引用。可以用SEQ1.NEXTVAL,当时不能用currval,因为SEQ是在内存区增长的。
    只有用NEXTVAL在自己的这个进程里有记录,才可以直接用currval。如果不对,请高手指点
      

  4.   

    sequence是个object,记载着自身的值,可以直接调用currval ,只要有访问该object的权限
      

  5.   

    楼上,我已经授权了。如题。但仍不能用CURRVAL调用
      

  6.   

    先select seq1.nextval from dual
    再select seq1.currval 
    如果可以了就是laoxiong_ren()所说的原因
      

  7.   

    perchant()正解,序列不能直接currval ,必须先nextval ,同一事务