DB2 函数中如何调用存储过程?

twostep 2015-05-15 11:42:50
想在函数中获取存储过程的数据集,还是直接贴代码吧

--存储过程
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;

...全文
522 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sifadmwy 2015-05-27
  • 打赏
  • 举报
回复
存储过程中直接输出 OUT参数
twostep 2015-05-15
  • 打赏
  • 举报
回复
看样子大家用的比较少,DB2由于项目原因才开始学习。

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧