重建同义词+oracle,Oracle中创建,删除同义词 Synonym

对另一个数据对象而言同义词是一个别名。public同义词是针对所有用户的,相对而言private同义词则只针对对象拥有者或被授予权限的账户。

在本地数据库中同义词可以表示表、视图、序列、程序、函数或包等数据对象,也可以通过链接表示另一个数据库的对象。

创建同义词语法如下:

CREATE [PUBLIC] SYNONYM synonym_name FOR [schema.] object[@db_link];

例:

CREATE PUBLIC SYNONYM policies FOR poladm.policies@prod;

CREATE SYNONYM plan_table FOR system.plan_table;

问题描述:

有两个oralce实例 SID分别为 A B

A中a用户下含有表objects

B中有b用户

使在B中用b用户登录后执行

select * from objects

能显示出A中a.objects的全部内容

问题解答:

用b用户登录到B中,执行:

create public synonym objects for a.objects@A

此时执行select * from objects 就能显示出a.objects的全部内容

需要注意的一点:

B中不能含有table b.objects否则语句可以执行,但是执行select操作时显示的仍然为b.objects的内容,需要先把.objects删除掉,重新建立synonym即可。

删除同义词

使用DROP SYNONYM语句删除不再需要的同义词 要想删除私有同义词 就省略 PUBLIC 关键字;

要想删除公共同义词 就要包括PUBLIC 关键字

DROP SYNONYM emp;  删除名为emp 的私有同义词

DROP PUBLIC SYNONYM public_emp;  删除名为public_emp的公有同义词

阅读(3420) | 评论(0) | 转发(0) |

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值