2014-06-07 07:28:19
来 源
中存储网
Oracle教程
该文档将详细介绍Oracle一个用户如何访问其它用户的表,相信会对各位网友学习和提高Oracle水平有帮助。
假如Oracle中有两个用户A和B,那么如果A要访问B拥有的表,语句应该是:
相关操作代码如下:

SELECT * FROM B.TABLENAME。


我要问的是,能否通过修改Oracle的设置,将A访问B拥有表的语也变为跟B用户登录一样的语句:SELECT * FROM TABLENAME?
相关操作代码如下:

create synonym tablename for B.TABLENAME;


除了一楼的创建同义词外,还要授予A用户访问改同意词的权限.
相关操作代码如下:

drop synonym tablename ;


1 可以使用查询生成sql语句,比如
相关操作代码如下:

select 'CREATE SYNONYM '||table_name||' FOR A.'||table_name from dba_tables where owner = 'A'


然后执行这些sql语句。 或者写存储过程实现.
2 select any table 权限可以允许访问所有表

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。