kettle中调用iq存储过程传参

不带参数的存储过程可以直接使用“调用DB存储过程”控件,将存储过程名称配置进去即可。

研究了一下带参数情况,可以使用这样的方法:

表输入:

select convert(char,getdate(),112) as LOAD_DT,1 as RUNSTATUS,'1' as MSG

存储过程1:

alter PROCEDURE "DBA"."P_ktl_arg_test"
 (IN LOAD_DT VARCHAR(10),
  OUT RUNSTATUS INTEGER,
  INOUT MSG VARCHAR(4000)         -----正常调度此处输入1,这里可以输入其它进行识别
)
begin

insert into dba.test
select 'zz',LOAD_DT;

end;

 

存储过程2:

alter procedure dba.p_ktl_arg_test2
 (IN LOAD_DT VARCHAR(10),
  OUT RUNSTATUS INTEGER,
  INOUT MSG VARCHAR(4000)         -----正常调度此处输入1,这里可以输入其它进行识别
)
begin
insert into dba.test
select 'aa',LOAD_DT;
end;

 

执行过程:表输入->存储过程1->存储过程2

其中,存储过程1,2中要获取表输入的变量,注意,表输入变量与存储过程中定义的参数名称要一致。

你可能感兴趣的:(Integer,存储)