随笔 - 404  文章 - 4  评论 - 0  阅读 - 25万

ORACLE同义词使用

多用户协同开发中,可以屏蔽对象的名字及其持有者。如果没有同义词,当操作其他用户的表时,必须通过user名.object名的形式,采用了Oracle同义词之后就可以隐蔽掉user名,

当然这里要注意的是:public同义词只是为数据库对象定义了一个公共的别名,其他用户能否通过这个别名访问这个数据库对象,还要看是否已经为这个用户授权。

 

例如:服务SRV_B需要读系统A的数据

SQL>create synonym SRV_B.EMPLOYEE for A.EMPLOYEE ;

SQL> grant select on A.EMPLOYEE to SRV_B;

Grant succeeded.

不赋权的话,SRV_B看不到EMPLOYEE 数据

 批量生成:

 select   'grant select on A.' ||table_name|| ' to ' || owner || ';' from dba_synonyms where OWNER='SRV_B' order by 1;

 

 

 参考阅读:潇湘隐者http://www.cnblogs.com/kerrycode/archive/2012/12/19/2824963.html

posted on   HelonTian  阅读(1960)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示