嘉盛建设集团网站,工程项目管理咨询公司加盟,宁波网站推广有哪些,金华企业网站建站模板概述Insert / update(插入 / 更新)此步骤首先使用一个或多个查询关键字查找表中的一行。如果找不到该行#xff0c;则插入该行。如果可以找到它#xff0c;并且要更新的字段相同#xff0c;则不执行任何操作。如果它们不完全相同#xff0c;则更新表中的行。注意#xff1…概述Insert / update(插入 / 更新)此步骤首先使用一个或多个查询关键字查找表中的一行。如果找不到该行则插入该行。如果可以找到它并且要更新的字段相同则不执行任何操作。如果它们不完全相同则更新表中的行。注意如果有多个匹配关键字的行则只比较找到的第一行。这可能会导致不同的结果这取决于所找到的行是否与给定值匹配。更新场景是这样的如果在多个行具有相同关键字的情况下发现差异则对数据库触发一个update语句该语句使用匹配的关键字更新所有行。该注意也适用于更新步骤。选项Insert / update(插入 / 更新)步骤有以下选项Step name(步骤名称)在画布上指定Insert / update(插入 / 更新)步骤的唯一名称。您可以自定义名称或将其保留为默认名称。Connection(数据库连接)从下拉列表中选择已连接数据库的名称。或者您可以单击“编辑”修改当前的数据库连接单击“新建”以建立新的数据库连接单击Wizard使用向导打开新的数据库连接。Target schema(目标模式)将数据写入到的表的模式名称。这对于允许表名称中包含句点的数据源来说非常重要。Target table(目标表)要在其中执行插入或更新操作的表的名称。Commit size(提交记录数量)在运行提交之前要更改(插入/更新)的行数。Dont perform any updates(不执行任何更新)如果启用数据库中的值永远不会更新而只执行插入。用来查询的关机键包含如下选项指定字段值和比较符列表。Table field(表字段)从填充目标表列的列表中指定要与之比较的字段名。Comparator(比较符)指定要使用的比较符。注意根据连接的数据库和目标表可以进行区分大小写的比较。你可以选择以下其中一个作为比较符、、、、LIKE、BETWEEN、IS NULL、IS NOT NULL。Stream field 1(流里的字段1)从传入流中指定字段的名称该字段包含要用于与表字段值进行比较的行。Stream field 2(流里的字段2)指定来自传入流的字段的名称该字段包含您希望用于与流里字段1进行比较的行。Get fields(获取字段)选择此按钮来填充转换中前面步骤中的流里字段1和流里字段2。更新字段包含如下选项允许指定表中要插入/更新的所有字段包括关键字。通过在更新列中指定N避免对某些字段进行更新。Table field(表字段)从填充目标表列的列表中指定要执行更新或插入的字段名。Stream field(流字段)指定来自传入流的字段的名称该字段包含用于更新或插入的值。Update(更新)对与表字段是否执行更新操作。示例示例采用代码表与用户表代码表里存放用户性别代码跟名称用户里面存放用户跟用户的性别代码。为了演示sql语句很简化不可以作为实际业务场景其表sql语句如下。/*代码表*/DROP TABLE IF EXISTS code;CREATE TABLE code (code varchar(10) NOT NULL,name varchar(20) DEFAULT NULL,PRIMARY KEY (code)) ENGINEInnoDB DEFAULT CHARSETutf8;insert into code(code,name) values (1,男);insert into code(code,name) values (2,女);/*用户表 */DROP TABLE IF EXISTS user;CREATE TABLE user (username varchar(20) NOT NULL,truename varchar(50) DEFAULT NULL,gender_code varchar(50) DEFAULT NULL,gender_name varchar(50) DEFAULT NULL,PRIMARY KEY (username)) ENGINEInnoDB DEFAULT CHARSETutf8;insert into user(username,truename,gender_code, gender_name) values (hanmeimei,韩梅梅,2,NULL);insert into user(username,truename,gender_code, gender_name) values (lisi,李四,2,NULL);insert into user(username,truename,gender_code, gender_name) values (zhangsan,张三,1,NULL);演示效果是用户表字段gender_code中只存了性别的代码而性别名称的字段gender_name 都为空现在需要根据字典表更新用户表中的性别名称1.建立数据库连接对象示例采用mysql数据库作为示例首先下载mysql驱动https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.47然后放在在文件夹data-integrationlib下。然后重启Spoon。如果已经添加过mysql驱动则可忽略此步骤。切换至主对象树双击DB连接。添加DB连接然后选项连接类型为mysql并维护相关的链接信息。维护数据库连接连接信息维护完之后点击测试测试连接是否成功。2.获取字典表Code数据作为数据输入源。添加一个表输入步骤数据库连接上面创建的DB连接名称demo然后从获取SQL查询语句中选择表Code即可。最后点击预览预览结果数据。结果数据3.添加插入 / 更新输出步骤并配置插入 / 更新条件添加一个输出中的插入 / 更新步骤。并建立从表输入到插入 / 更新的一个节点连接。建立节点连接在插入 / 更新步骤上配置数据库连接为上面创建的DB连接名称demo。目标表选择user。然后在用来查询的关键字中选择gender_code比较符为 ,然后流里的字段1选择为code。更新字段中设置表字段gender_name流字段name更新Y。设置相关选项内容最后保存并点击运行。查看用户表数据。