执行动态SQL语句,轻松实现全量&增量数据同步

本次课程的逻辑是同步t1表数据到t2表,t1和t2表的表机构相同,都有id,name,createtime三个字段。

CREATE TABLE `t1` (   `id` bigint NOT NULL AUTO_INCREMENT,   `name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,   `createtime` datetime DEFAULT NULL,   PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
1、之前的课程有介绍过全量增量数据同步,今天我们一起学习下通过trans来实现将增量和全量合二为一。这里面重点用到了执行Dynamic SQL步骤,如下图所示:

图片

 

2、查询目标表t2中的表记录总条数,若总条数为0表示没有进行同步过,需要进行全量同步,否则进行增量同步。这里增量同步的逻辑是通过两个表的id进行比对,当然也可以通过业务时间字段进行比对。

图片

3、使用javascript脚本步骤动态构建sql语句,根据maxId值进行编写逻辑,如下图所示:

图片

4、使用执行Dynamic SQL步骤执行前面构建的sql语句。

图片

1)SQL field name:动态sql语句字段。

2)Template SQL:我个人理解就是字段设置别名方便步骤后续使用。

5、表输出步骤将数据写入t2表。

图片

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/89747.html

(0)
guozi's avatarguozi
上一篇 2024年6月5日 上午10:29
下一篇 2024年6月5日 上午10:31

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注