用于复制的表
有效对象
复制
说明
使用 Replicat 参数文件中的 TABLE 参数指定筛选规则,以限定线索中的数据记录符合使用 EVENTACTIONS 指定的事件操作的条件。
这种形式的 TABLE 语句类似于 Replicat MAP 语句,只是没有通过 TARGET 子句将数据记录中的源表映射到目标表。Replicat 的 TABLE 仅是触发 Replicat 遇到事件记录时要执行的非数据操作的一种方式。如果复制处于协调模式,则所有操作都将通过具有最低线程 ID 的线程进行处理。
由于未提供目标表,因此适用以下内容:
-
没有选项可用于允许 Replicat 将表名或列映射到目标表,也没有选项可用于允许 Replicat 处理数据。
-
ASSUMETARGETDEFS参数不能与 ReplicatTABLE语句在同一参数文件中使用,因为ASSUMETARGETDEFS需要目标表的名称,以便 Replicat 可以查询表定义。必须创建源定义文件以提供要复制的源表的定义。将此文件传输到目标系统,并使用 Replicat 参数文件中的SOURCEDEFS参数指定文件的路径名。 -
事件记录本身不会通过复制应用到目标数据库。必须将
IGNORE或DISCARD指定为EVENTACTIONS选项之一。
语法
有关以下语法选项的说明,请参见 "TABLE | MAP "。
TABLE <table_spec>,
[, SQLEXEC (<SQL_specification>), BEFOREFILTER]
[, FILTER (<filter_clause>)]
[, WHERE (<where_clause>)]
{, EVENTACTIONS ({IGNORE | DISCARD} [<action>])}
;
示例
以下示例为包含特定订单号 (order_no = 1) 的插入操作的订单事务处理启用复制跟踪。跟踪信息将写入 order_1.trc 跟踪文件。MAP 参数指定源表到目标表的映射。
MAP sales.order, TARGET rpt.order;
TABLE sales.order,
FILTER (@GETENV ('GGHEADER', 'OPTYPE') = 'INSERT' AND @STREQ (order_no, 1), &
EVENTACTIONS (TRACE order_1.trc TRANSACTION);