Oracle 基礎——同義詞
一、什麽是同義詞
同義詞是先有對象的別名,主要作用是簡化SQL語句、隱藏對象的名稱和所有者、提供對對象的公共訪問。同義詞共有兩種類型,分別是公有同義詞和私有同義詞;公有同義詞可以被所有的數據庫用戶訪問,私有同義詞只能在當前用戶模式下訪問,且不能與當前用戶內的對象或者同義詞同名。Oracle用戶想要創建同義詞,必須要有創建同義詞的權限。
二、創建公有、私有同義詞的SQL語法
(1)創建私有同義詞:CREATE OR REPLACE SYNONYM SYN_NAME(同義詞名) FOR OBJ_NAME(對象名)
(2)創建公有同義詞:CREATE OR REPLACE PUBLEC SYN_NAME(同義詞名) FOR OBJ_NAME(對象名)
(3)刪除私有同義詞:DROP SYNONYM SYN_NAME(同義詞名)
(4)刪除公有同義詞:DROP SYNONYM PUBLIC SYN_NAME(同義詞名)
(5)授予私有同義詞權限給用戶:GRANT CREATE SYNONYM TO USER(Oracle用戶)
(6)授予公有同義詞權限給用戶:GRANT CREATE PUBLIC SYNONYM TO USER(Oracle用戶)
三、效果演示
註意:所有測試的SQL語句均在Oracle11gR2環境下運行。
SCOTT用戶下給EMP表創建同義詞,提示沒有創建同義詞的權限,如圖1-1所示;然後給SCOTT創建公有同義詞與私有同義詞的權限,如圖1-2所示
圖1-1
圖1-2
接下來,給EMP表創建私有同義詞,然而只有SCOTT用戶自己訪問,如圖1-3所示,SYSTEM等其他用戶不能訪問,如圖1-4所示
圖1-3
圖1-4
再接下來,給EMP表創建公有同義詞,SCOTT用戶能訪問,如圖1-5所示,SYSTEM等用戶也能訪問,如圖1-6所示
圖1-5
圖1-6
每天一點點,會有提高的,哈哈哈哈哈哈哈。。。
Oracle 基礎——同義詞