建仓规则-高级
建仓规则-高级
在【建仓规则】中可设置【建仓方式】、【仓库表名】、【字段映射】、【更新方式】

Preview
- 建仓方式
- 自动建表:【目的】库本身没有这张表,需要新建
- 匹配目标表:【目的】库有这张表了,不需要新建
- 仓库表名
- 如果建仓方式选择了【自动建表】,则此处手工录入新表名
- 如果建仓方式选择了【匹配目标表】,则此处会自动提示出【目的】库中所有的表

Preview
-
字段映射
-
刷新SQL执行结果:执行【建仓SQL】中的语句,将结果集的字段显示在【原始列】此处
- 如果选择了【自动建表】则【 原始列】和【表字段名】一致,【字段类型】会根据结果集自动识别,如有问题可以手工调整
- 如果选择了【匹配目标表】则【原始列】和【表字段名】需要手工对应,【表字段名】处会显示出所有的【目标表】字段,【字段类型】会根据【目标表】的字段类型匹配
-
数据更新方式:请根据实际情况选择合适的更新方式
-
完全更新
- 执行本任务时,当【建仓SQL】的SQL语句执行成功,会先将【目的】库存在的本任务的【仓库表名】删除,之后重新将本任务【建仓SQL】的结果集写入到【仓库表名】中。
Preview
- 执行本任务时,当【建仓SQL】的SQL语句执行成功,会先将【目的】库存在的本任务的【仓库表名】删除,之后重新将本任务【建仓SQL】的结果集写入到【仓库表名】中。
-
部分更新
- 数据更新条件:可以理解为【目的】库的【仓库表名】的where条件。在符合条件的情况下,会先从【目的】库删除掉符合条件的数据,然后才会将【建仓SQL】的结果集写入到【仓库表名】 中。
- 写法:[where] 日期>='2021-10-01' 中括号的where可以省略,此语句意思是更新时先删除日期大于等于2021-10-01的数据,然后再写入【建仓SQL】结果集的数据。不过此处需要注意【建仓SQL】处也只查日期大于等于2021-10-01的数据才符合现实逻辑。

Preview
- 主键追加更新
- 词语解释
- 主键:数据库主键,指的是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性。
- 追加:通过主键判断,如果表内尚未有同一主键的记录,则将新的【建仓SQL】结果行追加至【仓库表名】中
- 更新:通过主键判断,如果表内有同一主键的记录了,则将新的【建仓SQL】结果行替换同主键的旧的记录
- 数据更新方式:通过词语解释,数据更新方式应该很容易理解,此处不再详述。
- 数据更新主键:通过词语解释,数据更新主键=选择本【仓库表名】的主键。
在【高级】中可设置【执行任务前事件】、【执行任务后事件】

Preview
- 执行任务前事件:在本任务执行自身任务之前需要在【来源】库执行的SQL语句。
- 执行任务后时间:在本任务执行自身任务之后需要在【目的】库执行的SQL语句。