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')
*/
随机推荐
-
[Egret]优雅的写http
首先,自从使用链式调用的写法后,就一发不可收拾的喜爱上了这种优雅的方式.不管是写架构还是写模块,我都会不自觉的使用这种最优雅的方式.链式写法既减少了代码量,又非常优雅的. 在使用 egret 的htt ...
-
onmouseover和onmouseout的那些事
这篇文章来自一个偶然...以前刚开始学习javascript事件的时候就被一个东西搞得晕头撞向的.就是一对名字很相近的事件.一组是onmouseover()和onmouseout().另一组就是onm ...
-
.net微信公众号开发——基础接口
作者:王先荣 本文讲述微信公众号开发中基础接口的使用,包括以下内容: (1)获取许可令牌(AccessToken): (2)获取微信服务器地址: (3)上传.下载多媒体文件: ...
-
android命令安装apk时报错:INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
点击下载Genymotion-ARM-Translation.zip 将你的虚拟器运行起来,将下载好的zip包用鼠标拖到虚拟机窗口中,出现确认对跨框点OK就行.然后重启你的虚拟机.
-
JAVA 对象初始化的过程
对象初始化的过程例:Student S = new Student();1.因为new Student()用到了Student类,所以会把它从硬盘上加载进入内存2.如果有static静态代 ...
-
NOI2002 银河英雄传说
P1196 银河英雄传说 367通过 1.1K提交 题目提供者该用户不存在 标签并查集NOI系列2001(或之前) 难度提高+/省选- 提交该题 讨论 题解 记录 最新讨论 莱因哈特什么鬼? 私人代码 ...
-
分布式应用处理方式 - Remoting
分布式应用程序 所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果. ...
-
easyui源码翻译1.32--NumberSpinner(数字微调)
前言 扩展自$.fn.spinner.defaults和$.fn.numberbox.defaults.使用$.fn.numberspinner.defaults重写默认值对象.下载该插件翻译源码 数 ...
-
HTTP based RESTful APIs - asp.net web api
1.HTTP http://www.w3.org/Protocols/rfc2616/rfc2616.html 2.REST是什么http://www.ics.uci.edu/~fielding/pu ...
-
献身说法---修复bug时的一些小技巧
最近,修复了项目当中的一些bug,觉着有些思路可以分享出来供大家借鉴. 场景一 开发环境中系统正常运行,测试环境中,部分机器未能正常运行. 解决过程:远程连接了测试环境中的机器,观察了系统的运行情况, ...