SAP HANA - SQL同义词

SQL Synonyms是数据库中表或Schema对象的别名.它们用于保护客户端应用程序免受对对象名称或位置所做的更改.

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

创建同义词语句用于创建表,视图,包,过程,对象等的同义词.

示例

efashion的客户表位于Server1上.要从Server2访问它,客户端应用程序必须使用名称作为Server1.efashion.Customer.现在我们更改Customer表的位置,客户端应用程序必须被修改以反映更改.

为了解决这些问题,我们可以在Server2上为表创建Customer表Cust_Table的同义词. Server1上.因此,现在客户端应用程序必须使用单部分名称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同义词命令删除同义词.如果您要删除公共同义词,则必须在drop语句中使用关键字 public .

语法

DROP PUBLIC Synonym Cust_table;
DROP Synonym Cust_table;