熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle中創建同義詞

2013-11-13 22:08:08  來源: Oracle 

  create synonym table_name for usertable_name;

  其中第一個user_table和第二個user_table可以不一樣

  此外如果要創建一個遠程的數據庫上的某張表的同義詞需要先創建一個Database Link(數據庫連接)來擴展訪問然後在使用如下語句創建數據庫同義詞create synonym table_name for table_name@DB_Link;

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

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

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

  查看所有同義詞

  select * from dba_synonyms

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

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

  CREATE PUBLIC SYNONYM public_emp FOR jwardemp; jward 用戶名

  刪除同義詞

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

  DROP SYNONYM emp; 刪除名為emp 的私有同義詞

  DROP PUBLIC SYNONYM public_emp; 刪除名為public_emp的公有同義詞


From:http://tw.wingwit.com/Article/program/Oracle/201311/18310.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.