通过在以下级别指定暂存来处理暂存数据库:
- 数据库级别和表级别
- 辅助暂存数据库
- 系统级别
- 作业级别
- 数据库级别
- 对象级别
除非要使用 TPTAPI_UPDATE 将数据加载到暂存表,否则目标暂存表均创建为 NOPI 表。TPTAPI_UPDATE 不支持加载到 NOPI 暂存表。这种情况下,如果表为时间序列表,将使用缺省主索引创建目标暂存表;否则,所创建的目标暂存表具有与源表相同的主索引。将使用原始源表 ddl 创建表对象的源暂存表。通过与创建目标暂存表相同的方式创建针对视图对象的源暂存表。
仅当作业需要创建临时对象时,才使用指定的暂存数据库。下表列出了暂存数据库的使用场景(基于选定的强制实用程序)。
强制实用程序 | 目标暂存数据库的使用场景 |
---|---|
DSA | 表是源数据库中的子项,在目标数据库中不存在。 |
表存在于目标数据库中,并且在目标数据库中具有父项或子项。 | |
作业是部分复制、使用源暂存,并且目标表不为空。 | |
目标表存在,并且 force_target_staging_table 为 true。 | |
使用源暂存时,作业是直接复制到目标视图的视图数据的一部分。 | |
表具有一个包含“before”操作的触发器。 | |
JDBC | 目标表存在且不为空。 |
目标表为 RI 父项。 | |
目标表为 RI 子项。 | |
目标表具有索引。 | |
表为时态表。 | |
目标表具有二级索引。 | |
作业包含具有操作时间“before”的触发器。 | |
目标表具有触发器。 | |
目标表存在且为空,但 force_target_staging_table 为 true。 | |
作业将视图数据复制到目标视图。 | |
T2T | 目标表存在且不为空。 |
目标表为 RI 父项。 | |
目标表为 RI 子项。 | |
目标表具有索引。 | |
表为时态表。 | |
目标表具有二级索引。 | |
作业包含具有操作时间“before”的触发器。 | |
目标表具有触发器。 | |
目标表存在且为空,但 force_target_staging_table 为 true。 | |
作业将视图数据复制到目标视图。 | |
TPT | 目标表不为空,不执行 upsert。 |
目标表为 RI 子项,不执行 upsert。 | |
目标表具有索引,不执行 upsert。 | |
表为时态表,执行 upsert。 | |
目标表具有二级索引,不执行 upsert。 | |
作业包含具有操作时间“before”的触发器,不执行 upsert。 | |
目标表包含触发器,不执行 upsert。 | |
目标表存在且为空,但 force_target_staging_table 为 true。 | |
作业将视图数据复制到目标视图。 |