1、首先创建一个存储过程,以便后面的定时任务调用。
CREATE OR REPLACE PROCEDURE test_proc IS
BEGIN
INSERT INTO test(SEQ, SEQTIME) VALUES(NVL((SELECT MAX(SEQ) FROM test) + 1, 0), SYSDATE);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Exception happened,data was rollback');
ROLLBACK;
END;
2新建command window
执行
variable jobno number;
begin
dbms_job.submit(job => :jobno,
what => 'test_proc;',/*存储过程的名字,一定要加;号*/
next_date => sysdate,
interval => 'TRUNC(LAST_DAY(SYSDATE))+1+1/24' /每月1号凌晨1点执行
);
commit;
end;
/
3、查看user_jobs表可以看到刚才刚才执行成功的job编号,就可以看到下次执行时间