我现在用的是Bweb登陆的,我要访问Buser 用户中的表数据。下面是一个函数create or replace function f_getclassfullname(parentid in varchar2)
return varchar
is
str varchar2(500);
pi int;
tempStr varchar(50);
begin
pi:=1;select parentid into pi from Buser.CLASS where id=parentid and id>0;
--上面这个不行
---如果换成 这一段就可以。---select '111' into str from dual;return str;
end f_getclassfullname;报错:Error: PL/SQL: ORA-00942: 表或视图不存在是有的,我在SQL里里都可以运行,同样用户的是Bweb用户,

解决方案 »

  1.   

    存储过程中可以采用user.table方式对其他用户的表进行调用, 但是必须赋予调用方被访问表的权限, 即使是dba也必须设置对象权限。
      

  2.   

    在Buser用户下执行:
    select * from user_tables where table_name =  upper('class');
    确认表是否存在当前用户下
      

  3.   

    用 Buser 登陆授权给当前用户:grant select on Buser.CLASS  to username;