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. 提升WI-FI信号强度的10大方法

    原文链接:http://server.51cto.com/Net-402889.htm

  2. 【CSS3】Advanced11:Media Queries

    1.Browser-size specific CSS @media screen and (max/min-width:1000px){} 2.Orientation-specific CSS? @ ...

  3. Jlink烧写图文教程

    ,点击安装          , 插上jlink,安装驱动后,红灯一直亮                                                                 ...

  4. Android完全退出应用程序,完美解决方案

    最近公司工作不是很忙,就抽空研究了下Android的引导页,但是在写完引导页并且进入到住页面之后,在退出时,采用"再按一次退出"的方式去实现的,用的方式是杀掉进程跟exit,即:a ...

  5. 【Java基础】基础概念

    Java 关键字 被Java语言赋予特定含义的单词  组成关键字的字母全部小写  goto和const作为保留字存在,目前并不使用 一般关键字在IDE中会高亮 用于定义数据类型的关键字 class i ...

  6. A Tour of Go Struct Literals

    A struct literal denotes a newly allocated struct value by listing the values of its fields. You can ...

  7. mongdb高级操作(group by )

    首先介绍哈方法 /** * 利用java驱动自带函数分组查询 * @param key 用来分组文档的字段 [group by key] * @param cond 执行过滤的条件 [where na ...

  8. poj 3352 Road Construction【边双连通求最少加多少条边使图双连通&&缩点】

    Road Construction Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 10141   Accepted: 503 ...

  9. Redis常用数据类型

    Redis常用数据类型 转载自:http://blog.sina.com.cn/s/blog_7f37ddde0101021q.html     Redis最为常用的数据类型主要有以下五种: ●Str ...

  10. js 复制网页内容,兼容各浏览器

    因需要做一个js单击,复制当前网页url的功能.使用的是如下的方法,但是只能在ie浏览器下正常使用. 方法如下: function copyURL(){ var clipBoardContent=&q ...