Oracle--同義詞

 

Oracle中創建同義詞語句:
create synonym table_name for user.table_name; 
其中第一個user_table和第二個user_table可以不一樣。
此外如果要創建一個遠程的數據庫上的某張表的同義詞,需要先創建一個Database Link(數據庫連接)來擴展訪問,然後在使用如下語句創建數據庫同義詞:create synonym table_name for table_name@DB_Link;

當然,你可能需要在user用戶中給當前用戶(user2)授權: grant select/delete/update on user2

創建好同義詞之後,你可以對它進行DML(insert,update,delete)操作,當然select語句時肯定支持的。刪除同義詞:drop synonym table_name;這裏的table_name是指同義詞的表名。

同義詞擁有如下好處:節省大量的數據庫空間,對不同用戶的操作同一張表沒有多少差別;擴展的數據庫的使用範圍,能夠在不同的數據庫用戶之間實現無縫交互;同義詞可以創建在不同一個數據庫服務器上,通過網絡實現連接。

待研究:不同用戶對通一張表操作時,使用鎖對多用戶的影響,能否使用鎖,事務進行操作

 

 查看所有同義詞:

  select * from dba_synonyms

 

在oracle中創建同義詞
2008年01月26日 星期六 20:52

 

我們都知道,在oracle中對用戶的管理是使用權限的方式來管理的,也就是說,如果我們想使用數據庫,我們就必須得有權限,但是如果是別人將權限授予了我們,我們也是能對數據庫進行操作的,但是我們必須要已授權的表的名稱前鍵入該表所有者的名稱,所以這就是比較麻煩的,遇到這種情況,我們該怎麼辦呢?創建個同義詞吧!這樣我們就可以直接使用同義詞來使用表了。

創建同義詞的具體語法是:create [public] SYNONYM synooym for object;其中synooym表示要創建的同義詞的名稱,object表示表,視圖,序列等我們要創建同義詞的對象的名稱。

CREATE PUBLIC SYNONYM public_emp FOR jward.emp;           -- jward 用戶名

刪除同義詞
使用DROP SYNONYM語句刪除不再需要的同義詞 要想刪除私有同義詞 就省略 PUBLIC 關鍵字要想刪除公共同義詞就要包括PUBLIC 關鍵字

DROP SYNONYM emp; --刪除名爲emp 的私有同義詞
DROP PUBLIC SYNONYM public_emp; --刪除名爲public_emp的公有同義詞

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章