kettle从入门到精通 第七十七课 ETL之kettle kettle执行存储过程,接收数据集

场景:kettle调用存储过程,存储过程中通过select * from table 方式返回结果集,kettle接收结果集。

解决方案:1)借助临时表。2)表输入步骤。今天主要讲解表输入。

1、创建一个无参存储过程,脚本中通过select * from t1 返回数据集。脚本如下:

sql 复制代码
use test;
drop procedure if exists sp_without_param1;
delimiter //
create procedure sp_without_param1()
begin
      -- 查询数据集
      select * from t1;
  end //
delimiter ;

拖动取表输入步骤、写日志步骤到画布,表输入步骤sql填写call sp_without_param1,如下图所示:

保存,然后点击运行按钮,存储过程中的数据集被正常打印出来,如下图所示:

2、创建一个只有入参的存储过程,脚本中通过select * from t1 where id=pId;返回数据集。脚本如下:

sql 复制代码
use test;
drop procedure if exists sp_with_param2;
delimiter //
create procedure sp_with_param2(IN pId VARCHAR(255))
begin
      -- 查询数据集
      select * from t1 where id=pId;
  end //
delimiter ;

表输入步骤sql填写call sp_without_param2("1"),保存&点击运行按钮,数据集正常打印。如下图所示:

3、创建一个有入参和出参的存储过程,脚本中通过select * from t1 where id=pId;返回数据集。脚本如下:

sql 复制代码
use test;
drop procedure if exists sp_with_param3;
delimiter //
create procedure sp_with_param3(IN pId VARCHAR(255) ,OUT result VARCHAR(255))
begin
      -- 查询数据集
      select * from t1 where id=pId;
      set result="done";
  end //
delimiter ;

表输入步骤sql填写call sp_without_param3("1",@outputParm)。如下图所示:

使用表输入步骤单独获取out参数,sql为select @outputParam;,如下图所示

保存&点击运行,结果集和out参数正常打印。

相关推荐
AC赳赳老秦1 小时前
代码生成超越 GPT-4:DeepSeek-V4 编程任务实战与 2026 开发者效率提升指南
数据库·数据仓库·人工智能·科技·rabbitmq·memcache·deepseek
心疼你的一切2 小时前
拆解 CANN 仓库:实现 AIGC 文本生成昇腾端部署
数据仓库·深度学习·aigc·cann
心疼你的一切2 小时前
模态交响:CANN驱动的跨模态AIGC统一架构
数据仓库·深度学习·架构·aigc·cann
心疼你的一切3 小时前
解锁CANN仓库核心能力:从零搭建AIGC轻量文本生成实战(附代码+流程图)
数据仓库·深度学习·aigc·流程图·cann
秃了也弱了。5 小时前
StarRocks:高性能分析型数据仓库
数据仓库
心疼你的一切5 小时前
数字智人:CANN加速的实时数字人生成与交互
数据仓库·深度学习·aigc·交互·cann
心疼你的一切6 小时前
语音革命:CANN驱动实时语音合成的技术突破
数据仓库·开源·aigc·cann
心疼你的一切6 小时前
解构CANN仓库:AIGC API从底层逻辑到实战落地,解锁国产化AI生成算力
数据仓库·人工智能·深度学习·aigc·cann
心疼你的一切6 小时前
基于CANN仓库算力手把手实现Stable Diffusion图像生成(附完整代码+流程图)
数据仓库·深度学习·stable diffusion·aigc·流程图·cann
心疼你的一切6 小时前
代码革命:CANN加速的AI编程助手实战
数据仓库·深度学习·aigc·ai编程·cann