SAP HANA - SQL 同义词


SQL Synonyms 是数据库中表或架构对象的别名。它们用于保护客户端应用程序免受对象名称或位置更改的影响。

同义词允许应用程序正常运行,而不管拥有该表的用户以及哪个数据库保存该表或对象。

Create Synonym 语句用于为表、视图、包、过程、对象等创建 Synonym。

例子

efashion 有一个表 Customer,位于 Server1 上。要从 Server2 访问此内容,客户端应用程序必须使用名称 Server1.efashion.Customer。现在我们更改客户表的位置,必须修改客户端应用程序以反映更改。

为了解决这些问题,我们可以为 Server1 上的表创建 Server2 上的 Customer 表 Cust_Table 的同义词。因此,现在客户端应用程序必须使用单部分名称 Cust_Table 来引用该表。现在,如果该表的位置发生更改,您将必须修改同义词以指向该表的新位置。

由于没有 ALTER SYNONYM 语句,您必须删除同义词 Cust_Table,然后重新创建同名的同义词,并将该同义词指向 Customer 表的新位置。

公共同义词

公共同义词由数据库中的 PUBLIC 模式拥有。公共同义词可供数据库中的所有用户引用。它们由应用程序所有者为表和其他对象(例如过程和包)创建,以便应用程序的用户可以看到这些对象。

句法

CREATE PUBLIC SYNONYM Cust_table for efashion.Customer;

要创建 PUBLIC 同义词,您必须使用关键字 PUBLIC,如下所示。

私人同义词

私有同义词在数据库模式中用于隐藏表、过程、视图或任何其他数据库对象的真实名称。

私有同义词只能由拥有表或对象的模式引用。

句法

CREATE SYNONYM Cust_table FOR efashion.Customer;

删除同义词

可以使用 DROP Synonym 命令删除同义词。如果要删除公共同义词,则必须在删除语句中使用关键字public 。

句法

DROP PUBLIC Synonym Cust_table;
DROP Synonym Cust_table;