如何在Pentaho Spoon中读取PLSQL存储过程返回的参数
方法1:通过「Execute SQL script」节点读取返回值
- 修改你现有SQL脚本,新增一行将返回变量输出为查询结果,修改后代码如下:
declare result number; begin -- Call the procedure prc_my_procedure(result); -- 新增该行将结果作为结果集返回 SELECT result AS procedure_result FROM dual; end;
- 取消勾选「Execute as a single statement」选项,勾选「Send SQL script once to the database」
- 开启「Output rows to next steps」配置,按返回值设置输出字段
procedure_result的类型为Number,后续步骤可直接读取该字段值。
方法2:「Call DB Procedure」节点正确配置方案(更推荐)
该节点专门适配存储过程调用,不需要手写PL/SQL,配置正确即可直接读取OUT参数值:
- 选择对应的Oracle数据库连接,在「Procedure name」栏填写存储过程名
prc_my_procedure - 点击「Get arguments」自动读取参数,如果自动读取失败(常见于数据库账号无系统表查询权限的场景),手动添加参数:参数名填
result,方向选OUT,数据类型选NUMERIC匹配Oracle的number类型 - 切换到「Output fields」标签页,将OUT参数
result映射为自定义输出字段(比如命名为procedure_result),节点执行后会自动将存储过程返回值写入该字段,供后续所有步骤调用。
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

