Kettle使用_9 存储过程与设置变量
? ? ? ? ? ? ? ? ? ? ? ?Kettle使用_9 存儲(chǔ)過程與設(shè)置變量
需求: 通過傳遞給kettle位置參數(shù)的方式執(zhí)行存儲(chǔ)過程。其中存儲(chǔ)過程的需求是往tb_user(字段user_id, name)里插入一條記錄(覆蓋式,即有則刪除;參數(shù)是用戶id和用戶名)。
解決方法:結(jié)合設(shè)置變量(設(shè)置參數(shù)名)和DB存儲(chǔ)過程(指定數(shù)據(jù)庫(kù)連接和參數(shù))組件解決。
Step1:新建一個(gè)轉(zhuǎn)換。
Step2: 拖動(dòng)一個(gè)表輸入或者自定義常量組件到轉(zhuǎn)換里,該組件位于轉(zhuǎn)換的輸入分類下。
Step3: 配置表輸入組件,自定義常量較為簡(jiǎn)單,這里用的是表輸入。其中SQL編輯器區(qū)域可以寫從某個(gè)表讀取參數(shù)值,這里寫的固定值。即user_id=3000,name=300$。
Step4:拖個(gè)設(shè)置變量組件,并將表輸入通過SHIFT連接。
Step5:配置設(shè)置變量。
Step6:在數(shù)據(jù)庫(kù)里編寫存儲(chǔ)過程(這里以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存儲(chǔ)過程組件。
Step8:SHIFT連接組件設(shè)置變量、DB存儲(chǔ)過程。
Step9:點(diǎn)擊運(yùn)行該轉(zhuǎn)換
Step10:數(shù)據(jù)庫(kù)查看結(jié)果
完整流程示意:
總結(jié)
以上是生活随笔為你收集整理的Kettle使用_9 存储过程与设置变量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 注册资本是什么意思
- 下一篇: Kettle使用_10 存储过程与命名参