关于复制视图定义 - Teradata Data Mover

Teradata® Data Mover 用户指南

Product
Teradata Data Mover
Release Number
17.20
Published
2022 年 9 月
Language
中文 (简体)
Last Update
2022-10-12
dita:mapPath
zh-CN/tsn1650877444606.ditamap
dita:ditavalPath
zh-CN/mpm1591127278842.ditaval
dita:id
B035-4101
Product Category
Analytical Ecosystem

以下 xml 说明如何复制视图定义:

<views>
	<view selection="included">
		<name>deptsals</name>
		<database>MyDb</database>
	</view>
</views>

将 selection 设置为 "included",使用 view 的名称和视图在源系统中所在的 database,将视图定义 deptsals 从源系统复制到目标系统。

存在以下限制:
  • 如果要复制的对象在目标数据库中不存在,则会在目标数据库中创建该对象。如果对象在目标数据库中存在,则除非 overwrite_existing_objects 属性被设置为 false,否则将覆盖该对象。这种情况下,将生成创建时错误。
  • 您无法重新定位或重命名视图。
  • 如果视图定义中的表名称不是完全限定名称,这些表必须位于与源视图数据库同名的数据库中,以避免出错。

    例如,以下视图定义包含一个非完全限定的视图名称和表名称︰

    CREATE VIEW deptsals AS SELECT department_number AS department
    FROM  employee
    HAVING salary_amount < 36000;
    
  • 如果目标系统中不存在用以创建视图的表,或者该表未作为作业的一部分进行移动,则尝试在目标系统中创建视图定义时将出错。
  • 如果要复制视图定义而不复制基础表,可以使用 DSA。请参阅关于使用 DSA 复制视图、宏和存储过程
  • 在目标系统中创建视图定义时,尝试重命名被引用的表或重新指定这些表的位置将会导致错误。