1. 同义词概述数据库
同义词从字面上理解就是别名的意思,和视图的功能相似。就是一种映射关系。同义词拥有以下好处:节省大量的数据库空间,对不一样用户的操做同一张表没有多少差异;扩展的数据库的使用范围,可以在不一样的数据库用户之间实现无缝交互;同义词能够建立在不一样一个数据库服务器上,经过网络实现链接。服务器
知识扩展:数据库对象网络
表、视图、序列、过程、函数、程序包,甚至其它同义词均可以建立同义词。函数
同义词分为:私有同义词、公有同义词。spa
私有同义词只能被当前模式的用户访问。私有同义词名称不可与当前模式的对象名称相同。要在自身的模式建立私有同义词,code
用户必须拥有Create Synonym系统权限。要在其它用户模式建立私有同义词,用户必须拥有Create Any Synonym系统权限。对象
公有同义词可被全部的数据库用户访问。要建立公有同义词,用户必须拥有Create Public Synonym系统权限。ci
2. 同义词建立get
建立同义词语法:table
Create [PUBLIC] SYNONYM synonym_name FOR [schema.]object_name; |
示例1:
create public synonym emp_syn from scott.emp; |
此外若是要建立一个远程的数据库上的某张表的同义词,须要先建立一个Database Link(数据库链接)来扩展访问,而后在使用以下语句建立数据库同义词。
示例2:
create synonym table_name for table_name@DB_Link; |
固然,你可能须要在user用户中给当前用户(user2)受权: grant select/delete/update on user2
3. 删除同义词
删除同义词语法是:
drop [public] synonym table_name; |
4. 查看全部同义词:
select * from dba_synonyms |