DB2中如何用一个存储过程调用其他存储过程?

我的问题是,如何用一个主存储过程将其他存储过程批量调用起来,我用一个变量赋予SQL,即SET V_SQL='CAL DSHUSR.'||V_PRO_NAME ||'('||V_RPTDATE ||')',我这样写报错了,求各位DB2同胞帮忙解答一下,谢谢

2回答

topzgmtopzgm  软件架构设计师 , People's Bank of China
bingwangzi2500wuwenpin王磊磊赞同了此回答
试试sysproc.admin_cmd系统存储过程,应该可以迎合上述问题中提到的各个方面的需求。 显示全部

试试sysproc.admin_cmd系统存储过程,应该可以迎合上述问题中提到的各个方面的需求。

收起
 3天前
彼此在na彼此在na  软件开发工程师 , 北京中软国际信息技术有限公司
王磊磊赞同了此回答
CREATE PROCEDURE P_FIX_ORDER_INFO (IN "BEGIN_IN_DATE" VARCHAR(10) ,-- 开始日期IN "END_IN_DATE" VARCHAR(10) -- 结束日期)DYNAMIC RESULT SETS 1P1: BEGINDECLARE V_BEGIN_DATE date;DECLARE V_END_DATE date; set V_BEGIN_DATE = to_date(BEGIN_IN_DATE,'YYYY-...显示全部

CREATE PROCEDURE P_FIX_ORDER_INFO (
IN "BEGIN_IN_DATE" VARCHAR(10) ,-- 开始日期
IN "END_IN_DATE" VARCHAR(10) -- 结束日期
)
DYNAMIC RESULT SETS 1
P1: BEGIN
DECLARE V_BEGIN_DATE date;
DECLARE V_END_DATE date;

set V_BEGIN_DATE = to_date(BEGIN_IN_DATE,'YYYY-MM-DD');
set V_END_DATE = to_date(END_IN_DATE,'YYYY-MM-DD');

while V_BEGIN_DATE <= V_END_DATE do

call P_IMPORT_ORDERINFO(V_BEGIN_DATE);
call P_ORDER_SELL_DAY_CLIENT_CIG(V_BEGIN_DATE);
call P_ORDER_SELL_DAY_CLIENT(V_BEGIN_DATE);

set V_BEGIN_DATE = V_BEGIN_DATE + 1 day;
end while;
END P1 ;

收起
 3天前
  • zd  zd
    谢谢,如果我把存储过程名放在一个游标里循环调用,不要一个一个CALL,应该怎么写呢?

提问者

zd软件开发工程师, xzjy

问题状态

  • 发布时间:4天前
  • 关注会员:4 人
  • 问题浏览:140
  • 最近回答:3天前
  • 关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
    © 2017 talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30