博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DB2中循环日期跑数据
阅读量:4309 次
发布时间:2019-06-06

本文共 2039 字,大约阅读时间需要 6 分钟。

1.数据库版本:

2.具体实现方式:

CREATE OR REPLACE PROCEDURE DB2USER.RUN_PROCEDURE_BY_LOOP(IN begin_date VARCHAR(8),IN end_date VARCHAR(8))  /******************************************************************************     NAME:     PURPOSE:       REVISIONS:     Ver        Date        Author        Description     ---------  ----------  ------------  ------------------------------------     1            20150825     ZEN           循环跑多天的数据  ******************************************************************************/  LANGUAGE SQLBEGIN  DECLARE V_LOCATION VARCHAR(100);  DECLARE V_START_TIME TIMESTAMP;  DECLARE V_END_TIME TIMESTAMP;  DECLARE V_SQLMSG VARCHAR(255);  DECLARE EXIT HANDLER FOR SQLEXCEPTION                                                                                           BEGIN                                                                                                                           GET DIAGNOSTICS EXCEPTION 1 V_SQLMSG = MESSAGE_TEXT;                                                                            CALL DB2USER.PRO_LOG(TO_CHAR(V_START_TIME,'YYYYMMDD'),'RUN_PROCEDURE_BY_LOOP','循环跑多天的数据',V_START_TIME,current timestamp,'ERROR',V_LOCATION,V_SQLMSG);                                                                              END;  /*清空目标表*/  SET V_START_TIME = TO_DATE(begin_date,'YYYYMMDD');  SET V_END_TIME = TO_DATE(end_date,'YYYYMMDD');  SET V_LOCATION = '清空数据';    time_loop:   LOOP     INSERT INTO Temp_TEST VALUES(V_START_TIME,TO_CHAR(V_START_TIME,'YYYYMMDD'));          --CALL DB2USER.PRO_S_CLM_PFM_DAY(TO_CHAR(V_START_TIME,'YYYYMMDD'));          SET V_START_TIME = V_START_TIME + 1 day ;       IF (V_START_TIME > V_END_TIME)        THEN LEAVE time_loop;       END IF;       END LOOP time_loop;COMMIT;       --CALL DB2USER.PRO_LOG(TO_CHAR(V_START_TIME,'YYYYMMDD'),'RUN_PROCEDURE_BY_LOOP','循环跑多天的数据',V_START_TIME,current timestamp,'SUCCESS','','');END;

3.总结:

a.DB2中可以直接判断退出循环,如果被oracle的for循环惯坏了,想到这一点不太容易。

b.直接标签loop循环,设置退出方式,简单实用。

转载于:https://www.cnblogs.com/Alex-Zeng/p/4758784.html

你可能感兴趣的文章
【Maven】---Linux搭建Nexus3.X私服
查看>>
睿智计数器
查看>>
1.celery概述
查看>>
洛谷 P1057 传球游戏
查看>>
DAY-5 Linux系统用户、群组和权限
查看>>
一、MongoDB的下载、安装与部署
查看>>
数据结构整理
查看>>
4基本动画
查看>>
10个小技巧助您写出高性能的ASP.NET Core代码
查看>>
JavaScript中的 JSON 和 JSONP
查看>>
字符串相关工具类
查看>>
iOS:图标尺寸
查看>>
项目冲刺,20151118
查看>>
O055、Detach Volume 操作
查看>>
MyBatis学习(3)
查看>>
otrs离线部署
查看>>
spring ioc原理(看完后大家可以自己写一个spring)
查看>>
[codevs 1039]数的划分
查看>>
【会议记录】第一次例会(9.22)记录
查看>>
SpringBoot与缓存
查看>>