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. 【待修改】nyoj 38 最小生成树

    package nyoj; import java.util.Scanner; public class Main { public static void main(String args[]) { ...

  2. 使用C#模拟ASP.NET页面中按钮点击

    c# 模拟Asp.net页面中的某个按钮的点击,向web服务器发出请求 主要就组织要提交的数据,然后以post方式提交. 假设我们有如下的网页 1 <% @ Page Language = &q ...

  3. 定时备份为Sharepoint做网站备份,并删除指定日期的备份

    一.创建bat文件 @echo cd \ c: cd "Program Files\Common Files\Microsoft Shared\web server extensions\1 ...

  4. 【转载】JAVA IO 流的总结

    来自http://www.cnblogs.com/oubo/archive/2012/01/06/2394638.html,写的很详细 Java流操作有关的类或接口: Java流类图结构: 流的概念和 ...

  5. Hbase集群无法关闭

    执行stop-hbase.sh关闭Hbase服务器,提示一直在等待,查阅了很多网上的资料找到了答案.因为hbase的主要信息存储在zookeeper集群中,zookeeper集群没有正常启动会导致hb ...

  6. POJ-1981 Circle and Points 单位圆覆盖

    题目链接:http://poj.org/problem?id=1981 容易想到直接枚举两个点,然后确定一个圆来枚举,算法复杂度O(n^3). 这题还有O(n^2*lg n)的算法.将每个点扩展为单位 ...

  7. 局域网内Linux服务器时间同步

    局域网内Linux服务器时间同步   1.将一台能够上网的服务器作为时间服务器:  # /usr/bin/rdate -s time-b.timefreq.bldrdoc.gov //将时间服务器与互 ...

  8. jenkins持续集成配置备忘

    配过好几次,但是老忘记.记录备忘. 安装下列插件: ssh和git插件用来下载源码 publish over ssh 插件用来发布代码到测试环境. email插件用来更强大的email配置. file ...

  9. [Git]git常用命令总结

    git clone url 将远程库复制到本地 git status 查看本地库的状态 git add filename.filetype 将库中被修改的文件标记为添加状态 git diff 查看库中 ...

  10. SQLite 入门教程(三)好多约束 Constraints(转)

    转于: SQLite 入门教程(三)好多约束 Constraints 一.约束 Constraints 在上一篇随笔的结尾,我提到了约束, 但是在那里我把它翻译成了限定符,不太准确,这里先更正一下,应 ...