插入所有记录
有效对象
复制
此参数不适用于 UPDATERECORDFORMAT COMPACT。
说明
使用 INSERTALLRECORDS 参数可保留对目标记录执行的所有操作的记录,而不是仅保留当前版本。INSERTALLRECORDS 使 Replicat 将对记录所做的每项更改作为新记录插入到数据库中。初始插入以及后续更新和删除将作为时间点快照进行维护。
使用 INSERTALLRECORDS 的一些情况如下:
-
在异常
MAP语句中工作。在异常MAP语句中,INSERTALLRECORDS将导致生成错误的操作的值作为错误处理策略的一部分插入异常表中的新记录。 -
维护事务处理历史记录。通过在数据库中将对特定行的每项更改插入为新记录,可以维护对该行所做的所有更改的历史记录,而不是仅维护当前版本。每个插入操作都是一个时间点快照,可以根据需要进行查询以进行审计。通过将历史数据与特殊事务处理信息相结合,可以创建更有用的目标报告数据库。
可以在参数文件的根级别使用 INSERTALLRECORDS 来影响所有后续的 MAP 语句,也可以在 MAP 语句中使用它来影响特定表或使用通配符指定的多个表。
获取有关 INSERTALLRECORDS 的更多信息
有关 MAP 语法,请参见 "TABLE | MAP "。
默认值
无
语法
INSERTALLRECORDS
示例
示例 1
此示例在参数文件的根级别显示 INSERTALLRECORDS 作为异常处理配置的一部分。
COLMAP (USEDEFAULTS,
TRAN_TIME = @GETENV("GGHEADER","COMMITTIMESTAMP"),
OP_TYPE = @GETENV("GGHEADER", "OPTYPE"),
BEFORE_AFTER_IND = @GETENV("GGHEADER", "BEFOREAFTERINDICATOR"),
SEQUENCE_ID = @COMPUTE(@COMPUTE(@NUMSTR(@GETENV ("RECORD", "FILESEQNO"))*100000000000)+@NUMSTR(@GETENV ("RECORD", "FILERBA")))
);
示例 2
此示例显示 MAP 语句中的 INSERTALLRECORDS。
REPLICAT deliv
USERIDALIAS tiger1
SOURCEDEFS /ggs/dirdef/defs
REPERROR DEFAULT, ABEND
MAP fin.accTAB, TARGET fin.custTAB, INSERTALLRECORDS;