• SAP HANA Video Tutorials

SAP HANA - SQL 同義詞



SQL 同義詞是資料庫中表或模式物件的別名。它們用於保護客戶端應用程式免受對物件名稱或位置所做的更改的影響。

同義詞允許應用程式無論擁有該表的使用者的身份以及哪個資料庫儲存該表或物件,都能正常執行。

建立同義詞語句用於為表、檢視、包、過程、物件等建立同義詞。

示例

有一個名為 Customer 的表屬於 efashion,位於 Server1 上。要從 Server2 訪問它,客戶端應用程式必須使用 Server1.efashion.Customer 作為名稱。現在,我們更改了 Customer 表的位置,客戶端應用程式必須進行修改以反映此更改。

為了解決這些問題,我們可以在 Server2 上為 Server1 上的表建立 Customer 表的同義詞 Cust_Table。因此,現在客戶端應用程式必須使用單部分名稱 Cust_Table 來引用此表。現在,如果此表的位置發生更改,則必須修改同義詞以指向表的新位置。

由於沒有 ALTER SYNONYM 語句,因此必須刪除同義詞 Cust_Table,然後使用相同的名稱重新建立同義詞,並將同義詞指向 Customer 表的新位置。

公共同義詞

公共同義詞由資料庫中的 PUBLIC 模式擁有。所有資料庫使用者都可以引用公共同義詞。它們由應用程式所有者為表和其他物件(如過程和包)建立,以便應用程式使用者可以檢視這些物件。

語法

CREATE PUBLIC SYNONYM Cust_table for efashion.Customer;

要建立公共同義詞,必須使用 PUBLIC 關鍵字,如下所示。

私有同義詞

私有同義詞用於資料庫模式中,以隱藏表、過程、檢視或任何其他資料庫物件的真實名稱。

只有擁有該表或物件的模式才能引用私有同義詞。

語法

CREATE SYNONYM Cust_table FOR efashion.Customer;

刪除同義詞

可以使用 DROP Synonym 命令刪除同義詞。如果要刪除公共同義詞,則必須在 drop 語句中使用關鍵字public

語法

DROP PUBLIC Synonym Cust_table;
DROP Synonym Cust_table;
廣告