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);