oracle 同義詞synonym


在A用戶下,想訪問B用戶下的表,一遍需要用 “用戶名.表名 ”的格式進行訪問。如果想不加用戶名,直接訪問,需要建同義詞。

同義詞語法如下:

CREATE [PUBLIC] SYNONYM synonym_name FOR object;

DROP[PUBLIC] SYNONYM synonym_name;

1、中括號里面的內容是可選內容,如果加上PUBLIC表示公用同義詞,不加的話就是私有同義詞;

  公用同義詞:能被所有的數據庫用戶訪問的同義詞,毫無疑問只有具有DBA權限的方案用戶才可以設置;

    私有同義詞:只能由創建的用戶訪問的同義詞;

2、synonym_name表示同義詞的名字

3、object表示要創建同義詞的對象

比如:

1、沒有創建同義詞,在A用戶下,訪問B用戶的表,語句如下:

select * from  B.inf_crm_znf_test;

2、在A用戶下,執行如下語句,創建同義詞

CREATE SYNONYM inf_crm_znf_test FOR B.Inf_Crm_Znf_Test;

3、在A用戶下,訪問B用戶的表,就可以直接查詢,不需要加用戶名了。語句如下:

select * from  inf_crm_znf_test;

 4、刪除同義詞。在A用戶下,執行如下語句:

drop synonym inf_crm_znf_test;

5、刪除同義詞后,在A庫中直接查詢 inf_crm_znf_test表,將報錯。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM