Oracle 按日期循环
DECLARE V_IMPORT_DATE DATE; V_BUSI_DATE DATE; OUT_RET NUMBER; -- 0-成功, 其他失败 OUT_RET_MSG VARCHAR2(1000); PARAM PROC_PARAM_TYPE; V_MONTH_BEGIN DATE; V_MONTH_END DATE; BEGIN /* 按月循环每天 拉链表数据需根据业务发生日期mis_date按天跑批生成数据 */ V_MONTH_END := DATE'2018-04-30'; V_MONTH_BEGIN := TRUNC(V_MONTH_END,'MM'); V_BUSI_DATE := V_MONTH_BEGIN; WHILE(V_BUSI_DATE <= V_MONTH_END) LOOP PARAM:=PROC_PARAM_TYPE(0,'',V_BUSI_DATE,NULL,''); PKG_ODS_IF_ZIPLINK_TABLE.PROC_IF_ZIP_DRI_RCP_EYA_D(PARAM); --DBMS_OUTPUT.PUT_LINE(V_BUSI_DATE); V_BUSI_DATE := V_BUSI_DATE + 1; END LOOP; END; /
DECLARE V_IMPORT_DATE DATE; V_BUSI_DATE DATE; OUT_RET NUMBER; -- 0-成功, 其他失败 OUT_RET_MSG VARCHAR2(1000); PARAM PROC_PARAM_TYPE; V_MONTH_BEGIN DATE; V_MONTH_END DATE;BEGIN /* 按月循环每天 拉链表数据需根据业务发生日期mis_date按天跑批生成数据 */ V_MONTH_END := DATE'2018-04-30'; V_MONTH_BEGIN := TRUNC(V_MONTH_END,'MM'); V_BUSI_DATE := V_MONTH_BEGIN; WHILE(V_BUSI_DATE <= V_MONTH_END) LOOP PARAM:=PROC_PARAM_TYPE(0,'',V_BUSI_DATE,NULL,''); PKG_ODS_IF_ZIPLINK_TABLE.PROC_IF_ZIP_DRI_RCP_EYA_D(PARAM); --DBMS_OUTPUT.PUT_LINE(V_BUSI_DATE); V_BUSI_DATE := V_BUSI_DATE + 1; END LOOP; END;/