本文介紹如何定義同義字。
文法
CREATE [OR REPLACE] [PUBLIC] SYNONYM [schema.]syn_name
FOR object_schema.object_name[@dblink_name];說明
CREATE SYNONYM為某些資料庫物件類型定義同義字。PolarDB PostgreSQL版(相容Oracle)支援以下對象的同義字:
- 表
- 視圖
- 具體化檢視
- 序列
- 預存程序
- 儲存函數
- 類型
- 可通過database link訪問的對象
- 其他同義字
參數
| 參數 | 說明 |
| syn_name | syn_name是同義字的名稱。同義字名稱在schema中必須是唯一的。 |
| schema | schema指定同義字所在schema的名稱。如果未指定schema名稱,則在搜尋路徑中的第一個現有schema中建立同義字。 |
| object_name | object_name指定對象的名稱。 |
| object_schema | object_schema指定被引用對象所在的schema的名稱。 |
| dblink_name | dblink_name指定通過其訪問對象的database link的名稱。 |
包括REPLACE子句,以將現有同義字定義替換為新的同義字定義。
包括PUBLIC子句,以在public schema中建立同義字。CREATE PUBLIC SYNONYM命令與Oracle資料庫相容,可建立位於public schema中的同義字。
CREATE [OR REPLACE] PUBLIC SYNONYM syn_name FOR object_schema.object_name;以下只是一種簡寫方式:
CREATE [OR REPLACE] SYNONYM public.syn_name FOR object_schema.object_name;注釋
對同義字所引用對象的訪問由該同義字目前使用者的許可權決定;同義字使用者必須對基礎資料庫物件具備適當許可權。
樣本
在schema中為emp表建立名為polardb的同義字:
CREATE SYNONYM personnel FOR polardb.emp;