oracle同義詞說明:
1.用戶可以在自己的模式中創建同義詞,這需要具有CREATE SYNONYM這個系統權限。如果希望在其他用戶的模式中創建同義詞,
則需要具有CREATE ANY SYNONYM這個系統權限。普通用戶創建的同義詞一般都是私有同義詞,公有同義詞一般由DBA創建,普通
用戶如果希望創建同義詞,則需要CREATE PUBLIC SYNONYM這個系統權限。
創建私有同義詞的命令是CREATE SYNONYM,它的語法規則爲:
CREATE SYNONYM 同義詞 FOR 用戶名.對象名;
例如:普通用戶創建同義詞:
賦予權限:
grant create synonym to mb_lm_user;
連接用戶:
conn mb_lm_user
創建同義詞:
create synonym TEST_MB_ACCOUNT_FLOWINOUT for MB_ACCOUNT_FLOWINOUT@link_to_shchdb;
用戶如果不使用同義詞時,可以將其刪除。刪除同義詞的命令是DROP SYNONYM。這條命令的語法格式爲:
DROP SYNONYM 同義詞;
刪除同義詞:
drop synonym TEST_MB_ACCOUNT_FLOWINOUT;
創建公有同義詞的命令也是CREATE SYNONYM,只是要使用PUBLIC關鍵字進行限定。創建公有同義詞的命令格式爲:
CREATE PUBLIC SYNONYM 同義詞 FOR 用戶名.對象名;
grant public create synonym to mb_lm_user;
連接用戶:
conn mb_lm_user
create public synonym TEST_MB_ACCOUNT_FLOWINOUT for MB_ACCOUNT_FLOWINOUT@link_to_shchdb;
注意:刪除public同義詞需要具有DROP PUBLIC SYNONYM權限:
grant DROP PUBLIC SYNONYM to mb_lm_user;
用戶如果不使用同義詞時,可以將其刪除。刪除同義詞的命令是DROP SYNONYM。這條命令的語法格式爲:
DROP PUBLIC SYNONYM 同義詞;
刪除同義詞:
drop public synonym mb_lm_user;
一個用戶可以刪除自己創建的同義詞,如果要刪除其他用戶創建的同義詞,則要具有DROP ANY SYNONYM系統權限。
DBA可以刪除所有的公共同義詞,普通用戶需要具有DROP PUBLIC SYNONYM系統權限,才能刪除公共同義詞。同義
詞被刪除以後,它的相關信息也將從數據字典中刪除。
查看所有同義詞:
2.同義詞管理:
sys同義詞查看管理:
select * from dba_synonyms;
select * from user_synonyms;
用戶查詢自己建立的同義詞:
select * from user_synonyms;
注意:用戶只能查詢自己的私有同義詞,如果想查詢public同義詞,需要使用dba_synonyms表:
SQL> SELECT synonym_name FROM dba_synonyms WHERE owner='PUBLIC' and synonym_name like 'TEST%';
SYNONYM_NAME
------------------------------
TEST_MB_ACCOUNT_FLOWINOUT
TEST_PUBLIC_MB
oracle同義詞說明
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.