Switch / Case,顾名思义,类似 Java 中的 Switch / Case,用于进行条件判断。是 kettle 中一个非常常用组件。
使用起来也非常简单,我们直接来看例子。
有一个 user 表,表中数据如下:

我们需要对 code 字段进行判断,如果不为空,则将数据同步到 user_copy 表(表结构相同);如果 code 为空,则记录一条错误记录,错误记录表 error_info 结构如下:

整体的流程如下:

表输入:

执行 SQL 脚本:

可以看到下面勾选了“执行每一行“,意思就是:前一个步骤的每一行数据都要执行一次 SQL 。如果不勾选,则意思就是:前一个步骤不管有多少条数据,只执行一次 SQL 。下面传入了一个参数 id,用来替换 SQL 中的 ?。
运行结果:
user_copy 表:

error_info 表:

可以看到,一共 10 条数据,其中 7 条 code 不为空的进入了 user_copy 表,3 条 code 为空的进了异常表。
Switch / Case 组件用于条件判断,可以根据 Case 值走不同的分支。是 kettle 中一个非常基础又重要的组件。
来源:网络
1.switch支持部分基本数据类型(primitive data types),如:byte、short、int、long、char;不支持boolean、float、double。 如图的例子: 2.支持Enum类型、String、和部分基本类型的包装类(如:Character、Byte、Short、Integer); 如图的例子: 3.break关键字可以结束switch语句,如果没有bre...
多路分支 #include<stdio.h> int main() { int type; scanf("%d",&type); switch (type){ case 1: printf("请叫我小张"); break; case 2: printf("请叫我小张"); break; case 3: printf(&...
1.把代码写好后进入反汇编 2.进入反汇编后,找到红色框的值,然后输到内存窗口 3.可以看到第一个排列的内存值对应的是case 0 依次类推 它的原理就是先在内存里面把switch里面的case值按照顺序排了一个表,当没有那个值得时候,它对应的就是default。...
1.安装 xmware,安装centos(此步省略步骤) 2.设置虚拟机网络模式为NAT 3.输入 ip address 命令,记录下名字为ens33 (你们可能是别的名字) 4.使用vi 命令 打开编辑网络配置文件vi /etc/sysconfig/network-scripts/ifcfg-ens33 最后ens33为第三步红框部分名称。打开后这里no改为yes。 (这里注意按a可以进行编辑 ...
如何写简历 思维导图 自我反思 思维导图提取自如何写「前端简历」,能敲开字节跳动的大门?,具体细节还是应该去看一下原文会比较好。但是根据这个思维导图去重写、重构、提升简历会比较方便。 思维导图 自我反思 对照自己的年度计划来看,1-4年的提升这一块的自我调教目的性、针对性都是比较强的,唯一有一定缺陷性的就是导图中思考这一块下面的部分。 在日常工作当中,还是应该注重一下: 项目结构 组件服用 工程化...
http 如果需要使用自定义的check_weburl可参考:因为默认的check_url对超时没有做处理 如果使用域名,需要在主机hosts文件中配置域名与ip指向的问题,check_weburl可改为原生的check_http 也可以对url做监控,-p 可以加端口...
AWR 是 Oracle 10g 版本 推出的新特性, 全称叫Automatic Workload Repository-自动负载信息库, AWR 是通过对比两次快,照(snapshot)收集到的统计信息,来生成报表数据,生成的报表包括多个部分。 DB Time不包括Oracle后台进程消耗的时间。如果DB Time远远小于Elapsed时间,说明数据库比较空闲。 db time= cpu tim...
常见的项目安全实践一:代码混淆 一、在项目根目录下新建confuse.sh 和 gbFunc.list 文件 说明: confuse.sh 文件在编译过程中会执行gbFunc.list 用于自动混淆代码时,存放过滤出来需要混淆的方法名 touch confuse.sh touch gbFunc.list 二、新建GBConfuse.h 说明: GBConfuse.h 是在自动混淆代码时,将会把自动...
1、什么是分支? 在版本控制过程中,使用多条线同时推进多个任务。 2、分支的好处? 同时并行推进多个功能开发,提高开发效率 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。 3、分支操作 创建分支 git branch [分支名] 查看分支 git branch -v 切换分支 git checkout [分支名] 合并分支 1.第一步:切换到接...
数据结构.png 算法.png Java基础.png 1,Android 应用开发基础.png 2,Android应用开发中阶.png 3,Android应用开发高阶.png 4,Android应用开发技术栈.png ...
The project I'm working on has a lot of boilerplate code for passing Repository objects around. The parent object creates a repository, passes it to any utility / helper methods to do some specific wo...
I have profile page where logged in user can edit information about himself. There are some fields with default values, for example in $user->about_me there is default value: Tell us something abou...
I have an element in an array that I'd like to move accordingly. Basically I'd like to find the index of "c" and then place it before "d" again based on "d"'s index. I'm ...
I don't understand where I made a mistake, please help me. Variable declaration syntax was not correct. Please check link https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/overview.htm#BABEABGF P...
I am getting Data using Eloquent by the following way and with pageinate I am getting 2 coloumn in the target page but i don't know how to display the pagination in the view. I tried to display {{ $pa...