DB2 函数中如何调用存储过程?
想在函数中获取存储过程的数据集,还是直接贴代码吧
--存储过程
Create PROCEDURE HYJ_GIS_GetStepTime(task_id int,task_type int)
BEGIN
--创建临时表
DECLARE GLOBAL TEMPORARY TABLE session.results
(StepTime varchar(50),
StepNo int)
with replace -- 如果存在此临时表,则替换
not logged; -- 不在日志里纪录
--向临时表中插入数据
insert into session.results(StepTime,StepNo) values('2015-02-08 09:00:00',1);
--返回临时表数据
P2:BEGIN
--定义一个结果集游标
declare curResult cursor WITH RETURN TO CALLER FOR
select * from SESSION.results;
open curResult;
END P2;
end
--------------------------------------------------------------------------------------------------------------
--函数
Create function fn_GetStepTime(task_id int,task_type int)
returns TABLE
(steptime varchar(50),
stepno int
)
LANGUAGE SQL
SPECIFIC GETRISKAMNT
MODIFIES SQL DATA
BEGIN ATOMIC
call HYJ_GIS_GETSTEPTIME(1, 1); -----这里不知道如何获取数据集合并通过函数返回
return
select '2015-02-08 09:00:00',1 FROM SYSIBM.SYSDUMMY1;
end;