Kettle使用_9 存储过程与设置变量

需求: 通过传递给kettle位置参数的方式执行存储过程。其中存储过程的需求是往tb_user(字段user_id, name)里插入一条记录(覆盖式,即有则删除;参数是用户id和用户名)。

解决方法:结合设置变量(设置参数名)和DB存储过程(指定数据库连接和参数)组件解决。

Step1:新建一个转换。

Step2: 拖动一个表输入或者自定义常量组件到转换里,该组件位于转换的输入分类下。

Step3: 配置表输入组件,自定义常量较为简单,这里用的是表输入。其中SQL编辑器区域可以写从某个表读取参数值,这里写的固定值。即user_id=3000,name=300$。

Step4:拖个设置变量组件,并将表输入通过SHIFT连接。

Step5:配置设置变量。

Step6:在数据库里编写存储过程(这里以Mysql为例)

DROP PROCEDURE IF EXISTS kettlexp.sp_adduser_v2;
CREATE PROCEDURE kettlexp.`sp_adduser_v2`( IN userid int,v_name varchar(100))
BEGINDELETE FROM tb_user WHERE id = userid AND name = v_name;INSERT INTO tb_user(id,name) VALUES(userid,v_name);commit;
END;

Step7:拖并配置DB存储过程组件。

Step8:SHIFT连接组件设置变量DB存储过程

Step9:点击运行该转换

Step10:数据库查看结果

完整流程示意:

Kettle使用_9 存储过程与设置变量相关推荐

  1. kettle设置变量中变量范围的设置说明

    kettle设置变量中变量范围的设置说明 变量类型的作用域范围 "设置变量"插件中的"变量类型"有四个选项 对应着四个不同的作用域范围"s" ...

  2. Kettle使用_10 存储过程与命名参数

    Kettle使用_10 存储过程与命名参数 需求: 通过传递给kettle位置参数的方式执行存储过程.其中存储过程的需求是往tb_user(字段user_id, name)里插入一条记录(覆盖式,即有 ...

  3. Kettle使用_8 存储过程结合获取系统信息

    Kettle使用_8 存储过程结合获取系统信息 需求: 通过传递给kettle位置参数的方式执行存储过程.其中存储过程的需求是往tb_user(字段user_id, name)里插入一条记录(覆盖式, ...

  4. mysql 存储过程如何声明多个变量赋值_mysql存储过程:定义变量,赋值,判断,输出...

    1.定义变量,赋值,判断,输出 DROP PROCEDURE IF EXISTS proc_first; -- 如果proc_first存在就删除 create procedure proc_firs ...

  5. mysql声明存储过程_MySQL 声明变量及存储过程分析

    声明变量 设置全局变量 set @a='一个新变量'; 在函数和储存过程中使用的变量declear declear a int unsigned default 1; 这种变量需要设置变量类型 而且只 ...

  6. oracle存储过程、声明变量、for循环|转|

    oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...

  7. oracle存储过程、声明变量、for循环(转)

    oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...

  8. oracle的存储过程 替换,为什么在存储过程中,变量替换无法使用索引?

    CREATE OR REPLACE PROCEDURE ss(eff_day VARCHAR2) -- eff_day 统计日期,格式为 'yyyymmdd' AS v_year        INT ...

  9. Set集合设置变量自增长

    * 在jsp页面中,有时候需要设置变量进行自增长,像java中的i++, 1)设置变量,<s:set name="abc" value="0">&l ...

最新文章

  1. LeetCode刷题-2
  2. d盘莫名其妙被占空间 win10_Win10不好用?你不可不知的Win10技巧
  3. python3安装常见问题_python3中pip的安装、常见问题及万能解决方案。
  4. web_reverse_proxy -- haproxy
  5. Control currency conversion in gateway
  6. python 当前时间的前一天_python中time、datetime模块的使用
  7. 怎么获得ajax中data中的某个字段,关于$.ajax中data字段的整理--包括json转换和spring注解...
  8. 传统行业生意,现在想要发财
  9. 软考分类精讲-软件管理
  10. 国培 计算机远程培训心得,国培远程培训感言3篇
  11. 慕尼黑工业大学计算机博士申请条件,德国慕尼黑工业大学博士生申请条件
  12. 百度竞价点击系统,互动点击软件【胖虎图图-互动点击专家】
  13. Go语言操作sqllite
  14. LVGL的PC端移植和STM32F429阿波罗开发板移植
  15. 已知三边 求三角形面积
  16. 第2天:程序设计语言的极简介绍
  17. Go模拟Kubernetes Client进行单元测试
  18. CCF考试——201412-4最优灌溉
  19. android渲染是skia与egl,opengl和skia哪个快 游戏电脑问题解决分享!
  20. 智慧的云计算:IBM云计算解决方案

热门文章

  1. TK:绘制BoundaryEdges边界边用法实战
  2. OpenCASCADE:可视化简介
  3. OpenCASCADE:适用于 Android 的 OCCT AndroidQt 示例
  4. wxWidgets:wxSizer
  5. boost::next_permutation相关的测试程序
  6. boost::python模块包装几个 C++ 函数 将二维数组操作为采用 NumPy 数组的 Python 函数作为参数
  7. boost::multiprecision模块实现MPC后端对多精度复数的使用的测试程序
  8. boost::mp11::mp_flatten相关用法的测试程序
  9. boost::histogram::axis::option::growth_t用法的测试程序
  10. boost::hana::minimum用法的测试程序