zoukankan      html  css  js  c++  java
  • 小循环的妙用

    需求:

    要求生成5月14号功能上线到6月7号之间优化上线之间的数据,稍微修改了一下proc_search_log过程,

    输入参数t_date,写了一个小循环,执行时间62s多,尚可。因为oracle写数据比更新数据快很多,过程里全部是写数据;

    declare
        temp_date date:=trunc(sysdate-2) ;
    begin
        loop
          exit when temp_date<=to_date('20100513','yyyymmdd');
          EXECUTE IMMEDIATE 'BEGIN PROC_SEARCH_LOG(:v1); END;'
               USING IN temp_date;
        temp_date:=temp_date-1;
        end loop;
    exception
       when others then
            rollback;
             raise_application_error(-20666,substr(sqlerrm,1,200));
    end; 

    -----------------------------------分割线-------------------------------------

    不晓得上次 依然是博腕数据的过程 我为毛一天一天手工执行 应该也写一个循环的。

    ②调整job时间

    CREATE OR REPLACE PROCEDURE EDU.PROC_CHANGE_JOBTIME

    AS
        TYPE CUR_TYPE IS REF CURSOR;
        CUR CUR_TYPE;
        T_JOB NUMBER;
        T_NEXT_DATE DATE;
    BEGIN
      OPEN CUR FOR
        SELECT D.JOB,D.NEXT_DATE
        FROM USER_JOBS D
       WHERE TRUNC(D.NEXT_DATE)=ADD_MONTHS(TRUNC(SYSDATE,'MM'),1)
       AND D.LOG_USER='EDU';
     
       LOOP
       FETCH CUR INTO T_JOB,T_NEXT_DATE;
          EXIT WHEN CUR%NOTFOUND;
          DBMS_JOB.NEXT_DATE(T_JOB,T_NEXT_DATE+3/144);
          COMMIT;
       END LOOP;
       CLOSE CUR; 
     END;
     /
    begin
      dbms_job.isubmit(70,'EDU.PROC_CHANGE_JOBTIME;',trunc(last_day(sysdate))+10/24+3/144,'trunc(last_day(add_months(sysdate,1)))+10/24+3/144');
    end;

  • 相关阅读:
    把旧系统迁移到.Net Core 2.0 日记 (18) --JWT 认证(Json Web Token)
    把旧系统迁移到.Net Core 2.0 日记 (17) --多租户和SoftDelete
    swagger访问api, TypeError: Failed to fetch
    nop 4.1 Widget 探究- 视图组件
    Nop 4.1版本已经迁移到.net core2.1版本
    link标签和css引入方式
    script标签
    MIME 类型
    bae64编码
    chrome调试技巧和插件介绍
  • 原文地址:https://www.cnblogs.com/gracejiang/p/5890611.html
Copyright © 2011-2022 走看看