--创建计划,使JOBNO和存储过程关联
DECLARE
JOBNO INTEGER;
BEGIN
DBMS_JOBS.SUBMIT ( JOBNO, 'PRO_NAME;', SYSDATE, 'SYSDATE+1/24' );
END;
--DBMS_JOB.SUBMIT参数说明
DBMS_JOB.SUBMIT (
JOBNO => JOBID, --对应的唯一 ID ( JOBID <-> JOBNAME)唯一映射
PROCEDURENAME => 'YOUR_PROCEDURE;', --调用的存储过程名称
NEXT_DATE => SYSDATE, --下次执行的时间 (第一次执行的时间)
INTERVAL => 'SYSDATE+1/(24*60)' ); --每次执行间隔的时间
--执行、停止、删除计划
--方式一、查询出JOBNO,到cmd执行
SELECT * FROM USER_JOBS;
EXEC DBMS_JOB.RUN(JOBNO);
--方式二、直接SQL执行
DECLARE
JOBNO INTEGER;
BEGIN
-- 查找计划号
SELECT JOB INTO JOBNO FROM USER_JOBS;
--执行计划
DBMS_JOB.RUN(JOBNO);
-- 停止计划,不再继续执行
DBMS_JOB.BROKEN(JOBNO,TRUE);
-- 停止计划,并在两分钟后继续执行
DBMS_JOB.BROKEN(JOBNO,TRUE,SYSDATE+(2/24/60));
--删除计划
DBMS_JOB.REMOVE(JOBNO)
END;