暂无图片
OGG update 转为 delete
我来答
分享
Thomas
2023-02-10
OGG update 转为 delete

有表A,其中B字段。源端有: update A set B=XXX WHERE ...希望在目标端的REPLICAT里做判断,如果UPDATE语句是将B字段值修改为'XYZ',  即update A set B='xyz', 则不应用此UPDATE,而是改为在目标端DELETE该条记录,请问如何实现此功能?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
Lucifer三思而后行
暂无图片

可以在REPLICAT的参数中使用MAP和FILTER步骤来实现该功能。

MAP 操作里,对于UPDATE语句,如果B字段的值是'XYZ',就切换OP覆盖OPCODE为D(删除动作);

FILTER操作里,可以简单的针对于OP='D'的情况,把动作屏蔽掉(DISCARDr)。

另外,如果源端有此字段,也可以考虑在DATA层加入触发逻辑,在做UPDATE前检查,如果是'XYZ'这种记录,则转入DELETE动作。

暂无图片 评论
暂无图片 有用 0
打赏 0
Thomas

楼上专家,我只知道@GETENV('GGHEADER', 'OPTYPE')可以得到OPTYPE,但是如何改变OPTYPE,用啥命令?愿闻其详。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏