oracle 在function访问其他用户下的表

December 16, 2010 | tags    | views
Comments 0

 遇到个问题,需要在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 权限

 



文章本月排行 文章本年排行
   



发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。