覆盖主要内容

插入/更新

组件介绍

"插入/更新"组件可以根据"查询字段"在给定数据库中查找到匹配的记录,如果没有记录被检索到,则添加一行.当"更新字段"中的值与数据库存储的值不同时,则执行更新操作.如需更新的值与数据库存储的值相同,则实际不执行操作.


  • 输入:数据库连接、目标表
  • 输出:被更新的数据库数据
  • 参数:查询字段、更新字段

标签介绍

基本配置标签页

页面介绍:


数据库连接写入数据的数据库连接
目的模式写入数据的表名称
目标表您要在其中插入或更新的表的名称
提交记录数量一次(插入/更新)的行数
不执行任何更新如果启用,则永远不会更新数据库中的值,仅执行插入

查询字段标签页

页面介绍:


表字段数据表中用于匹配的字段
比较字符=,=〜NULL,<>,<,<=,>> =,LIKE,BETWEEN,IS NULL,IS NOT NULL 等比较规则
流里的字段1流数据中用于匹配的字段1
流里的字段2为了满足某些二元运算而提供的流数据字段2

更新字段标签页

页面介绍:


表字段数据表中被更新的字段
流字段流数据用于更新的字段
更新是或否

使用案例

以下是一个从 sakila 数据库中加载 dim_location_address 维度表的实例,它首先通过数据库查询获取到维度表最近一次更新的时间。并且根据该时间获取最新的增量数据。同时通过数据库查询使得插入数据保持一致性,最后通过插入/更新组件来加载维度表。具体内容详见2.8 处理维度表。为方便起见读者可直接使用下方数据。
sakila-schema.sqlsakila-data.sql sakila_snowflake_schema.sql

其中 "插入/更新 dim_location_address" 的设置如下

通过 navicat 可以查看到其中插入与更新的数据。