declare
jobno binary_integer;
rm_days number;
rm_hour number;  --传入的hour
my_hour number;    --取出当前时间的hour
my_interval_day number;
my_interval varchar2(20);      

my_sql  varchar2(200);
my_next_date varchar2(200);
my_yymmdd varchar2(200);
my_own_sql varchar2(2000);

begin
  rm_days:=30;
  rm_hour:=11;
  my_interval_day:=1;
  my_sql:='''delete from log_info_bak where currenttime <sysdate-'||rm_days||';''';
  dbms_output.put_line('my_sql is: '||my_sql);
 
  --判断两个hour
  select to_number(to_char(sysdate,'hh24')) into my_hour from dual;
--  dbms_output.put_line(my_hour);
 
 
 
 
       --16          18
  if rm_hour < my_hour then
  rm_hour:=rm_hour;
  select to_char(sysdate+1,'yyyy-mm-dd') into my_yymmdd from dual;
 
   my_next_date:='to_date('''||my_yymmdd ||' '||rm_hour||':00:00'' ,''yyyy-mm-dd hh24:mi:ss'')';  
    --20        18
  elsif  rm_hour>my_hour then
      select to_char(sysdate,'yyyy-mm-dd') into my_yymmdd from dual;
         my_next_date:='to_date('''||my_yymmdd ||' '||rm_hour||':00:00'' ,''yyyy-mm-dd hh24:mi:ss'')';  
   
--  dbms_output.put_line(rm_hour);
  end if;

 
dbms_output.put_line('my_next_date is:'||my_next_date);

 my_interval:='''sysdate+'||to_char(my_interval_day)||'''';     
--my_interval:='sysdate+1';

dbms_output.put_line('my_interval is: '||my_interval);

my_own_sql:=' declare jobno binary_integer; begin dbms_job.submit(job => jobno,what => '||my_sql||',next_date => '||my_next_date||',interval =>'||my_interval||'); commit; end;';
dbms_output.put_line(my_own_sql);

execute immediate my_own_sql;
 /* dbms_job.submit(job => jobno,
                      what => my_sql,
                      next_date => my_next_date,
                      interval => my_interval);*/
  commit;
end;

--测试部分
/*
系统 time 11:00:00   任务时间 9点   结果 执行时间推迟到 to_date('2016-12-21 9:00:00' ,'yyyy-mm-dd hh24:mi:ss')
系统 time 9:00:00    任务时间 11点   结果 执行时间推迟到 to_date('2016-12-20 11:00:00' ,'yyyy-mm-dd hh24:mi:ss')
*/

随机推荐

  1. [POJ2348]Euclid's Game

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8313   Accepted: 3374 Description Two p ...

  2. apple mac 下使用机械键盘的办法,键盘映射工具软件,apple mac Mechanical keyboard

    apple mac 下使用机械键盘的办法,键盘映射工具软件,apple mac Mechanical keyboard 想在苹果电脑 mac 系统下使用 机械键盘,大部分机械键盘不是为mac设计的,所 ...

  3. ab的排列 aa , ab ba,bb

    package reverseList; public class Main { static void perm(char c[],int lev,char ans[]) { if(c.length ...

  4. HNU 13375 Flowery Trails (spfa最短路)

    求最短路径覆盖的全部边权值和. 思路:分别从起点和终点两次求最短路,再比较两个点到起点的距离和他们之间的权值相加和是否等于最短路径. 这题很好 #include <cstring> #in ...

  5. codeforce 621D - Rat Kwesh and Cheese

    题意:求表达式中最大的值. long double 128位 有效数字18-19 范围正负1.2*10^4932 注意取对数! #include<iostream> #include< ...

  6. UVALive-4287 Proving Equivalences 有向图的强连通分量+缩点

    题意:有n个命题,已知其中的m个推导,要证明n个命题全部等价(等价具有传递性),最少还需要做出几次推导. 思路:由已知的推导可以建一张无向图,则问题变成了最少需要增加几条边能使图变成强连通图.找出所有 ...

  7. Storm系列(二)系统结构及重要概念

    在Storm的集群里面有两种节点:控制节点和工作节点,控制节点上面运行Nimbus进程,Nimbus负责在集群里面分配计算任务,并且监控状态.每一个工作节点上面运行Supervisor进程,Super ...

  8. HDU1247 - Hat’s Words(Trie树)

    题目大意 给定一些单词,要求你把所有的帽子单词找出来,如果某个单词恰好由另外两个单词连接而成,那么它就是帽子单词 题解 先把所有单词插入到Trie树,然后判断每个单词是不是帽子单词,做法就是:对于第i ...

  9. openstack 镜像自动扩容 resize拉伸

    The simplest way to support this in your image is to install the cloud-utils package (contains the g ...

  10. 几年的Git使用技巧总结

    用git有一年了,下面是我这一年来的git使用总结,覆盖了日常使用中绝大多数的场景.嗯,至少是够用一年了,整理出来分享给大家,不明白的地方可以回复交流. 创建和使用git ssh key 首先设置gi ...