动态修改oracle job 让job在指定时间执行
来源:互联网 发布:淘宝客网站建站教程 编辑:程序博客网 时间:2024/04/29 18:21
动态修改oracle job 让job在指定时间执行
PROCEDURE Wsp_Call_MillAcident (
an_acidentId IN VARCHAR2,--发生事故的ID值为字符串类型
at_acidentime IN VARCHAR2,--发生事故的时间精确到秒(YYYY-MM-DD HH24:MI:SS)
an_preSeconds IN NUMBER,--发生事故前n秒为复数
an_aftSeconds IN NUMBER--发生事故后n秒
)
AS
strSql varchar2(2000);
startTime varchar2(30);
endTime varchar2(30);
calltime varchar2(30);
acidenttime date;
ln_preSeconds NUMBER;
ln_aftSeconds NUMBER;
BEGIN
if (an_acidentId is null) then
RETURN;
end if;
if (at_acidentime is null) then
acidenttime:=sysdate;
else
acidenttime:=to_date(at_acidentime,'YYYY-MM-DD HH24:MI:SS');
end if;
if ( an_preSeconds is null ) then
ln_preSeconds :=ACIDENT_PRE_SECONDS;
else
ln_preSeconds:=an_preSeconds;
end if;
if ( an_aftSeconds is null ) then
ln_aftSeconds :=ACIDENT_AFT_SECONDS;
else
ln_aftSeconds :=an_aftSeconds;
end if;
--计算事故发生时间at_acidentime之前an_preSeconds秒的时间
startTime :=fc_getnextsecondstime(acidenttime,ln_preSeconds); --样式'yyyy-mm-dd hh24:mi:ss'
--计算事故发生时间at_acidentime之后an_aftSecends秒的时间
endTime :=fc_getnextsecondstime(acidenttime,ln_aftSeconds); --样式'yyyy-mm-dd hh24:mi:ss'
--计算作业调用时间与endtime相同
calltime :=endTime || ' +8:00'; --样式'2008-07-10 10:01:00 +8:00'
--构造作业执行程序,将各遥测表中按以上两个计算出来的时间取值,注入到事故追忆历史表
strSql :='begin
insert into ACIDNT_RETROS_HIS( ID, POINT_ID, POINT_IDENTIFIER, POINT_VALUE, GET_TIME, POINT_TYPE, ACCIDENT_ID)
select t1.ID || systimestamp, t1.POINT_ID, t1.POINT_IDENTIFIER,t1.POINT_VALUE,t1.GET_TIME,t1.POINT_TYPE, '|| an_acidentId ||' from ACIDNT_RETROS_TEMP t1;
commit;
end;';
--dbms_output.put_line(startTime);
--dbms_output.put_line(endTime);
dbms_output.put_line(calltime);
dbms_output.put_line(strSql);
--修改作业调用属性的job_type
dbms_scheduler.set_attribute( name => 'WINDPOWER.WIND_JOB_SGZY', attribute => 'job_type', value => 'PLSQL_BLOCK');
--修改作业调用属性的job_action
dbms_scheduler.set_attribute( name => 'WINDPOWER.WIND_JOB_SGZY', attribute => 'job_action', value => strSql );
--修改作业调用调度属性的start_date
dbms_scheduler.set_attribute(
name => 'WINDPOWER.WIND_JOB_SGZY',
attribute => 'start_date', value => to_timestamp_tz(calltime, 'YYYY-MM-DD HH24:MI:SS TZH:TZM'));
--修改作业调用属性使其可用
dbms_scheduler.enable( '"WINDPOWER"."WIND_JOB_SGZY"' );
END;
http://topic.csdn.net/u/20080827/09/f119d3bb-0df6-449c-9d1a-4c9e15f22f6e.html
- 动态修改oracle job 让job在指定时间执行
- 让job在指定oracle rac 节点上执行
- JOB对ORACLE 的时间定时执行
- oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。
- oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。
- Oracle Job 不执行
- oracle job执行说明
- oracle执行job
- oracle job延迟执行
- oracle job定时执行
- oracle动态创建job
- oracle创建job并执行job
- oracle 查询 job queue,修改 job quere
- ORACLE JOB修改NEXT_DATE,删除JOB
- oracle创建job并执行job及JOB问题解决汇总
- Oracle Job定时执行的时间间隔写法
- 修改Oracle自动统计Job的运行时间
- 动态修改spring job定时器
- android 打开通知栏
- SQL 备忘
- IIS共享目录为asp.net网站无权限访问的解决方法
- 怎么用VC++6.0编写图片浏览器
- Java 中 protected 和 friendly 修饰符
- 动态修改oracle job 让job在指定时间执行
- 抓 console 时间信息的工具 grabserial
- java的回调方法(易懂的讲解分析)
- android 之 PowerManager 与电源管理
- java中Callback的理解
- linux 编译ffmpeg 出错:error: 'UINT64_C' was not declared in this scope
- Javascript连接数据库Access(SQL)[增强与修复1]
- osg例子osgpick的一些知识点的理解
- 内存的问题