oracle 在function访问其他用户下的表
遇到个问题,需要在FUNCTION 访问一张其他用户下的 表,但此FUNCTION 不能编译通过。
我想问: ORACLE 中的FUNCTION 不能访问团其他用户的表吗? 如通过:user.tablename 来访问?
如果可以,应该如何设置?
如果不可以,是否有比较好的办法解决?
谢谢!
问题补充:
在plsql客户端中:
select * from user.tablename 是可以访问的。
select a.* from user.tablename a 也是可以访问的。
所以权限和别名都没问题的。
但是在function 中写成
select a.col into v_c from user.tablename a 在编译时,就会报错,
说user.tablename 不存在。
问题解决了。 需要对user.tablename增加一个对 当前用户的 privilege。
SQL语句:grant select on archive.archive to scott
或使用 DBA用户给你当前的用户赋权限 设置 system privilege 中的 select 权限