Oracle同義詞建立方法

tonywi888發表於2008-03-07
對另一個資料物件而言同義詞是一個別名。public同義詞是針對所有使用者的,相對而言private同義詞則只針對物件擁有者或被授予許可權的賬戶。在本地資料庫中同義詞可以表示表、檢視、序列、程式、函式或包等資料物件,也可以透過連結表示另一個資料庫的物件。

  建立同義詞語法如下:

CREATE [PUBLIC] SYNONYM synonym_name FOR [schema.] object[@db_link];
  
  例:

CREATE PUBLIC SYNONYM policies FOR poladm.policies@prod;

CREATE SYNONYM plan_table FOR system.plan_table;
 
問題描述:
有兩個oralce例項 SID分別為 A B
A中a使用者下含有表objects
B中有b使用者
使在B中用b使用者登入後執行
select * from objects
能顯示出A中a.objects的全部內容

問題解答:
用b使用者登入到B中,執行:
create public synonym objects for a.objects@A
此時執行select * from objects 就能顯示出a.objects的全部內容

需要注意的一點:
B中不能含有table b.objects否則語句可以執行,但是執行select操作時顯示的仍然為b.objects的內容,需要先把.objects刪除掉,重新建立synonym即可。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8570952/viewspace-200662/,如需轉載,請註明出處,否則將追究法律責任。

相關文章