Oracle同义词

同义词是方案对象的别名,它不占储存的空间,目的是在Oracle中为表或者视图、序列、PL/SQL程序单元、用户自定义对象或其他的同义词创建友好的名称。

一、同义词的作用
同义词的主要作用是简化对目标对象的访问,或者是因为某些私密的原因必须要隐藏Oracle对象的一些命名。同义词也是一种数据方案的对象,因此创建的同义词会存储到数据字典中,但是同义词仅仅是目标对象的一个别名,因此实际上本身并没有太多的意义。在Oracle中,多数的方案对象比如表、试图、同义词、序列、存储过程、包等都可以创建同义词。
通过同义词的这一层隔离,当删除或重命名一个底层的对象是,只需要重新定义同义词,所有使用同义词的其他对象都不需要进行更改。

二、创建和使用同义词
同义词分为俩种
1、私有同义词,与要用来创建同义词的Oracle对象必须位于同一个方案中,只有其所有者对其可用性具有控制权。
2、公共同义词,这种类型的同义词由名为PUBLIC的用户组所有,可以被数据库的所以用户访问。
同义词创建语法

CREATE [ OR REPLACE ]  [ PUBLIC ] SYNONYM [ schema. ] synonym
	FOR [ schema. ] object [ $ dblink ];

OR REPLACE,如果一个同义词已经存在,将会删除并重新创建,使用这个子句可以更改同义词的定义而不用先行移除同义词。不能对已经具有依赖的表或具有依赖关系的用户自定义队形类型使用OR REPLACE子句。
PUBLIC,使用次关键子表示创建的公共同义词,公共同义词是对所有的用户可访问,但是使用该同义词的用户必须也必须具有对于同义词底层对象的权限。如果省略掉该子句,表示创建的是一个私有同义词,私有同义词在方案中必须具有唯一命名。
[schema. ] synonym 指定同义词所在的方案和同义词的名称,如果不指定方案名称,表示将在当前登录的用户所在的方案下创建同义词。
FOR 子句,指定要为那个对象创建同义词,可以使表,对象,试图或对象试图、序列、存储过程,函数或包、物化视图、Java类方案对象、用户自定义对象类型或者其他的同义词。其中schema用于指定要创建同义词的对象所在方的案,dblink指定链接到远程数据库服务器的数据库链接。

创建私有同义词,用户必须具有CREATE SYNONYM的权限,
在其他方案下创建私有同义词,用户必须具有CREATE ANY SYNONYM的权限,
创建公共同义词,用户必须具有CREATE PUBLIC SYNONYM。

创建公共同义词
在这里插入图片描述
访问同义词
在这里插入图片描述

三、删除同义词

DROP [ PUBLIC ] SYNONYM [ schema. ] synonym [ FORCE ] ; 

在这里插入图片描述

四、查看同义词

可以通过all_synonyms,user_synonyms或dba_synonyms数据字典试图查询到同义词的信息。

DESC 同义词;

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值