版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/rexueqingchun/article/details/86304311
1.创建计划任务需要执行的存储过程
CREATE OR REPLACE
PROCEDURE "PRO_INTERVAL_DELETE_LOG" AS
BEGIN
DELETE FROM T_SYS_LOG WHERE CZSJ < SYSDATE-30;
END;
备注:SQL为删除30天之前数据,可根据自身业务编写。
2.创建计划任务
DECLARE
DELETE_LOG_JOB NUMBER;
BEGIN
DBMS_JOB.SUBMIT(DELETE_LOG_JOB,'PRO_INTERVAL_DELETE_LOG;',SYSDATE,'TRUNC(SYSDATE+1)');
END;
每分钟执行:TRUNC(SYSDATE,'MI')+1/(24*60)
每天0点执行:TRUNC(SYSDATE+1)
每月1日0点执行:TRUNC(LAST_DAY(SYSDATE)+1)
每年1月1日0点执行:ADD_MONTHS(TRUNC(SYSDATE,'YYYY'),12)
3.查询所有计划任务
SELECT * FROM USER_JOBS;
4.运行计划任务
BEGIN
DBMS_JOB.RUN(25);
END;
备注:25为查询出来的JOB任务ID
5.删除计划任务
BEGIN
DBMS_JOB.REMOVE(25);
END;