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 |