Oracle同義詞

一、同義詞的概念

同義詞(synonym)就是數據庫對象的別名,這裏的數據庫對象包括表、視圖、序列、存儲過程、包等。

同義詞有兩方面的意義:1)簡化了數據庫對象名稱的書寫;2)提高了數據庫對象的安全性(因爲只知道對象的別名,不知道它的真名)。

Oracle的dual虛表其實就是一個公用的同義詞。

二、創建同義詞

1、創建同義詞的權限

用dba權限登錄數據庫,授於用戶create synonym和create public synonym權限。

語法:

grant create synonym to 用戶名;
grant create public synonym to 用戶名;

示例:

在這裏插入圖片描述

2、創建synonym的命令

語法:

create [public] synonym 同義詞名 for [用戶名.]數據庫對象名;

說明:

public:同義詞的類型,缺省是當前用戶私有的,只有當前用戶可以使用該同義詞,如果加上public選項,表示公用同義詞,所有的數據庫用戶都可以使用。

用戶名:數據庫對象所屬的用戶,缺省是當前用戶。

數據對象名:常用的是表、視圖和序列,其它的不常用。

注意,如果對其它用戶的對象創建同義詞,當前用戶必須具備對其它用戶對象的權限,否則同義詞無法使用。

示例:

1)爲當前用戶的dept表創建同義詞mydept。

create synonym mydept for dept;

2)爲scott用戶的emp表創建同義詞myemp。

create synonym myemp for scott.emp;

3)爲遠程數據庫的scott用戶的emp表創建同義詞remoteemp。

create synonym remoteemp for scott.emp@dblink_01;

4)測試效果。

在這裏插入圖片描述

三、刪除同義詞

刪除當前用戶私有的同義詞:

drop synonym 同義詞名;

刪除公用的同義詞:

drop public synonym 公用同義詞名;

四、版權聲明

C語言技術網原創文章,轉載請說明文章的來源、作者和原文的鏈接。
來源:C語言技術網(www.freecplus.net)
作者:碼農有道

如果文章有錯別字,或者內容有錯誤,或其他的建議和意見,請您留言指正,非常感謝!!!

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