Oracle Job 定时任务执行Sql

第一步: 建立一个存储过程sql

1:好比建立一个存储过程名:PROC_DAYCUT_CTRL_UPDATEspa

plSql中执行SQL命令:开发

SELECT * FROM dba_Jobs a WHERE a.WHAT = 'PROC_DAYCUT_CTRL_UPDATE;';rem

检查是否已经存在这个存储过程,若是没有存在,则能够建立这个名get

create or replace procedure PROC_DAYCUT_CTRL_UPDATE as
begin
  update t_daycut_ctrl t3 set t3.prev_settle_date=TO_DATE(to_char(sysdate,'YYYY-MM-DD'),'YYYY-MM-DD');commit;
end;
/it

建立名为:PROC_DAYCUT_CTRL_UPDATE 的存储过程,执行想要的Sqldate

补充:查询存储过程的sqlselect

select TEXT from user_source where name='PROC_DAYCUT_CTRL_UPDATE';next

第二步:建立一个Job查询

plSql中执行SQL命令:

declare proc_daycut_job number;
begin
  dbms_job.submit(proc_daycut_job,
  'PROC_DAYCUT_CTRL_UPDATE;',
  sysdate,'sysdate+1/1440'); 
  end;

解释:建立了一个名字为proc_daycut_job 每分钟自动执行PROC_DAYCUT_CTRL_UPDATE存储过程的Job

第三步:运行Job

 

建立好的Job默认是开启的,因此没有必要启动,实在想启动的话,先关闭,再启动

先查询Job号:

SELECT * FROM dba_Jobs a WHERE a.WHAT = 'PROC_DAYCUT_CTRL_UPDATE;';

1:中止Job

begin
  dbms_job.broken(249, true);
  commit;
end;
/
其中 249 为查询出来的Job号

2:启动Job

begin
  dbms_job.run(249);
  commit;
end;
/

若是想删除Job

begin
  dbms_job.remove(247);
  commit; 
end;
/

第四:补充知识

SELECT * FROM dba_Jobs a WHERE a.WHAT = 'PROC_DAYCUT_CTRL_UPDATE;';

查询出来字段解释:

 

dba_jobs中几个比较重要的字段

job: 指的是job的id号。好比上面的 41

failures:job执行的时候失败次数,若是超过了15次,那么broken列将被标为Y,之后就不会运行该job了

broken:默认为N,若是为Y,意味着再也不执行该job!

interval:执行job的间隔时间。

what:该job的实际工做。

其中:

描述 INTERVAL参数值

1:每分钟执行

 

Interval => TRUNC(sysdate,'mi') + 1/ (24*60)

Interval => sysdate+1/1440

 

2:天天定时执行

例如:天天的凌晨1点执行

Interval => TRUNC(sysdate) + 1 +1/ (24)

3:每周定时执行

例如:每周一凌晨1点执行

Interval => TRUNC(next_day(sysdate,'星期一'))+1/24

4:每个月定时执行

例如:每个月1日凌晨1点执行

Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24

5:每季度定时执行

例如每季度的第一天凌晨1点执行

Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24

6:每半年定时执行

例如:每一年7月1日和1月1日凌晨1点

Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24

7:每一年定时执行

例如:每一年1月1日凌晨1点执行

Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24

 

后续有不少开发填坑的文章发布,若是对你有帮助,请支持和加关注一下

http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944

https://shop119727980.taobao.com/?spm=0.0.0.0 

相关文章
相关标签/搜索