ORACLE同義詞詳解

 

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 

相關文章
相關標籤/搜索