Synonym(同義詞)是資料庫物件(表、視圖、序列、程序等)的別名,不佔用實際儲存空間,僅在資料字典存放定義。查詢時 Oracle 會自動解析為對應物件,簡化跨 Schema 存取與 SQL 撰寫。
| 類型 | 權限範圍 | 建立語法關鍵字 |
|---|---|---|
| 公有同義詞 | 所有使用者可存取 | CREATE PUBLIC SYNONYM |
| 私有同義詞 | 建立者擁有,可授權他人使用 | CREATE SYNONYM |
CREATE [PUBLIC] SYNONYM synonym_name FOR schema.object_name;
授權:
GRANT CREATE PUBLIC SYNONYM TO siege;
建立:
CREATE PUBLIC SYNONYM public_stu_syn FOR student;
需額外授權:
GRANT DROP PUBLIC SYNONYM TO siege;
DROP PUBLIC SYNONYM public_stu_syn;
-- 私有同義詞
SELECT * FROM user_synonyms WHERE synonym_name = 'PUBLIC_STU_SYN';
-- 公有同義詞 (需 DBA 權限)
SELECT * FROM dba_synonyms WHERE synonym_name = 'PUBLIC_STU_SYN';
schema.table 格式。PUB_)。