0
点赞
收藏
分享

微信扫一扫

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


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

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

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

Step1:新建一个转换。

Step2:拖一个获取变量组件到转换,该组件位于转换的作业分类下。

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

Step3:配置获取变量组件

Kettle使用_10 存储过程与命名参数_Kettle存储过程_02

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

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

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

Kettle使用_10 存储过程与命名参数_用户名_03

Step6:SHIFT连接组件获取变量DB存储过程

Step7:右键转换设置命名参数默认值。(选作)

Kettle使用_10 存储过程与命名参数_Kettle存储过程_04

Step8:运行转换并给命名参数赋值。

Kettle使用_10 存储过程与命名参数_用户名_05

Step9:数据查看执行结果

Kettle使用_10 存储过程与命名参数_用户名_06

完整流程示意:

Kettle使用_10 存储过程与命名参数_字段_07

举报

相关推荐

0 条评论