ORCALE创建定时任务
1.创建表格
create table test(id ,name );
2.创建过程
create or replace procedure test_job is
--test_job过程名
begin
insert into test values (id,name);
--test表值按需求插入
commit;
end test_job;
3.创建任务
declare
test_job number;
begin
sys.dbms_job.submit(test_job, --任务名称
'test_job;',--执行的过程
sysdate,--执行时间
'sysdate+1/(24*60*10)');--下次执行时间 10s执行一次
end;
4.查看任务
select * from user_jobs;
ps:
每天运行一次 'SYSDATE + 1'
每小时运行一次 'SYSDATE + 1/24'
每10分钟运行一次 'SYSDATE + 10/(60*24)'
每30秒运行一次 'SYSDATE + 30/(60*24*60)'
每隔一星期运行一次 'SYSDATE + 7'
不再运行该任务并删除它 NULL
第二种调度任务需求相对于第一种就需要更复杂的时间间隔(interval)表达式
描述 INTERVAL参数值
每天午夜12点 'TRUNC(SYSDATE + 1)'
每天早上8点30分 'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'
每星期二中午12点 'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24'
每个月第一天的午夜12点 'TRUNC(LAST_DAY(SYSDATE ) + 1)'
每个季度最后一天的晚上11点 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24'
每星期六和日早上6点10分 'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)'