同義詞: 對另一個數據對象而言同義詞是一個別名,同義詞對其目標對象進行依賴,如果目標對象被更改或刪除,則該同義詞將變為無效。 同義詞不能代替資料庫對象的特權,即先用對模式的對象有查詢、執行、刪除等許可權。 許可權: 要在自己的模式中創建私有同義詞,您必須具有CREATE SYNONYM系統特權。 要在另 ...
同義詞:
對另一個數據對象而言同義詞是一個別名,同義詞對其目標對象進行依賴,如果目標對象被更改或刪除,則該同義詞將變為無效。
同義詞不能代替資料庫對象的特權,即先用對模式的對象有查詢、執行、刪除等許可權。
許可權:
要在自己的模式中創建私有同義詞,您必須具有CREATE SYNONYM系統特權。
要在另一個用戶的模式中創建私有同義詞,您必須具有CREATE ANY SYNONYM系統特權。
要創建PUBLIC同義詞,您必須具有CREATE PUBLIC SYNONYM系統特權。
表的同義詞
CREATE SYNONYM offices FOR hr.locations;
存儲過程的同義詞
create or replace synonym SP_INSERTXY for ys_adm.SP_INSERTXY;
grant execute on SP_INSERTXY to ys_app
示例:
如果用戶oa有 offices表對象,且對hr的offices表有查詢許可權,那麼select * from offices時,查詢的是自己的數據。如果要查hr模式,需要select * from hr.offices
如果戶oa沒有 offices表對象,且對hr的offices表有查詢許可權,通過創建同義詞CREATE SYNONYM offices FOR hr.offices;執行select * from offices;系統返回是hr用戶的數據。