函数别名(也称为函数映射)允许您为外部函数对象或外部服务器创建简单的备用名称。函数别名与 SQL 语句别名不同,SQL 语句中的别名为临时名称,函数别名则为数据库中的新永久对象。对于正在运行的外部函数,函数别名会隐藏名称和位置等详细信息。
Data Mover 支持将函数别名对象从一个 Teradata 系统复制到另一个支持函数别名功能的 Teradata 系统。复制之前,请确保函数别名对象定义中的所有从属对象均存在于目标系统中,Data Mover 不验证函数别名对象中的所有从属对象是否都存在于目标系统中。
以下参数用于复制函数别名对象:
参数 | 说明 |
---|---|
name | 函数别名对象名称。 |
database | 函数别名对象所在的所有者或数据库名称。 |
要求和限制
- 必须在源系统中授予 Data Mover 作业用户对函数别名对象的 ACCESS 权限,才能在目标系统中为 DDL、DROP 和 CREATE 函数别名对象运行 SHOW FUNCTION MAPPING,否则作业将在运行时失败。
- 函数别名对象中的所有从属对象都必须存在于目标系统中,否则作业将在运行时失败。Data Mover 不验证从属对象是否存在。
- 源和目标 Teradata Database 系统都必须是版本 16.20 Feature Update 1 或更高版本。
- Data Mover 只支持复制函数别名对象;不支持重命名对象或将对象重定位到其他目标数据库。
- 可使用 DSA、TPT 或 JDBC 复制函数别名对象。
- 使用 DSA 复制整个数据库时,还会复制数据库中的函数别名对象。
- Data Mover 不会解析函数别名对象 DDL,而是在目标系统上运行完全相同的源 DDL。
示例:
以下示例显示数据库 TD_SERVER_DB 中某个外部服务器的函数别名对象 DDL。有关函数别名对象功能的详细信息,请参考 Teradata Database 文档。
CREATE FUNCTION MAPPING myDB.FAObjForForeignSer FOR TD_SERVER_DB.td_conn_get_supp_version SERVER TD_SERVER_DB.MyForeignServerObject;