MAPINVISIBLE 列 | NOMAPINVISIBLE 列
有效对象
在 Oracle 上复制。作为独立参数或作为 MAP 的选项有效。
说明
使用 MAPINVISIBLECOLUMNS 和 NOMAPINVISIBLECOLUMNS 控制复制是否在 Oracle 目标表中包括不可见的列以进行默认列映射。对于 Oracle 目标表中使用显式列映射的不可见列,这些列始终是映射的,因此不需要此选项。自动冲突检测和解决需要 MAPINVISIBLECOLUMNS。
可使用两种不同的方式使用 MAPINVISIBLECOLUMNS 和 NOMAPINVISIBLECOLUMNS。在全局级别指定时,一个参数对所有后续 MAP 语句保持有效状态,直到指定另一个参数。在 MAP 语句中使用时,它们将覆盖全局规范。
默认值
对于集成的 Replicat 或并行集成的 Replicat,除非您在 Replicat 参数文件中显式指定 NOMAPINVISIBLECOLUMNS,否则默认值为 MAPINVISIBLECOLUMNS。
对于所有其他类型的复制,默认值为 NOMAPINVISIBLECOLUMNS。
语法
MAPINVISIBLECOLUMNS | NOMAPINVISIBLECOLUMNS
[, THREAD (<threadID>[, <threadID>][, ...][, <thread_range>[, <thread_range>][, ...])]
THREADS (<threadID>[, <threadID>][, ...][, <thread_range>[, <thread_range>][, ...])
仅为协调复制的指定线程执行 MAPINVISIBLECOLUMNS | NOMAPINVISIBLECOLUMNS。
<threadID>[, <threadID>][, ...]
指定一个线程 ID,或以 threadID, threadID, threadID 格式指定逗号分隔的线程列表。
[, <thread_range>[, <thread_range>][, ...]
以 threadIDlow-threadIDhigh 形式指定线程范围,或以 threadIDlow-threadIDhigh,threadIDlow-threadIDhigh 格式指定的逗号分隔的范围列表。
允许组合使用这些格式,例如 threadID、threadID、threadIDlow-threadIDhigh。
示例
示例 1
此示例为某些 MAP 语句启用 MAPINVISIBLECOLUMNS,而为其他语句禁用它。
MAPINVISIBLECOLUMNS
MAP hr.emp, TARGET hr.emp2;
NOMAPINVISIBLECOLUMNS
MAP hr.dep, TARGET hr.dep2;
示例 2
此示例显示了 MAPINVISIBLECOLUMNS 的全局和 MAP 级使用组合。MAP 规范将覆盖指定表的全局规范。
NOMAPINVISIBLECOLUMNS
MAP hr.dep, TARGET hr.dep2;
MAP hr.emp, TARGET hr.emp2, MAPINVISIBLECOLUMNS;
示例 3
In this example, MAPINVISIBLECOLUMNS is enabled globally, but turned off for thread 3. 其余的线程 1、2 和 4 将在默认列映射中包括不可见的目标列。
MAPINVISIBLECOLUMNS
NOMAPINVISIBLECOLUMNS THREAD(3)
MAP hr.dep, TARGET hr.dep2, THREADRANGE(1, 4);
MAP hr.emp, TARGET hr.emp2, THREADRANGE(1, 4);