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;/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM