由于LZ很像整理一下如何使用Kettle对一张表进行增量更新的时候,
同时实现对数据库中的其他表也可以实现相关的更新操作。
第一种方法想使用触发器,即在相应的hop之间添加SQL脚本step然后在step中实现对其他数据表进行比照更新的相关操作。
另一种方法是,时间戳,可以添加时间点,然后通过判断时间点是否变更来判断数据进行了相关的变动。
其实还有一种方法就是分析日志,这个对我来说暂时还是有些难度了,数据库针对性也很强,所以先自动过滤掉吧~
但是想到,
如果在kettle 中不对其进行额外设定step的操作,在更新一张表的时候
与之相关的表中对应的字段是否会根据该字段中的:变更而自动更新,删除而自动变为空等等一些操作。
先说一下结果吧:在kettle中 如果两张表仅仅靠foreign key constraint 这种约束的话,
其中主表的外键是附表的主键(也就是主表对应该字段的数值是附表对应该字段数值集合的子集),
如果在附表中进行数据更新,
则在主表中的字段不会随之更新,而是会报错的。
所以,接下来只能是自己写触发器了,来实现同步多个相连的表的同步更新了。
下面是LZ所创建的实验表和相关的数据:
首先,在mysql数据库中创建相应的数据库作为带被更新的旧数据源:
create databasetest7_26;usetest7_26;create tableclass
(
classIdint not null,
classNamevarchar(50) not null,