來自:
--建表
1
2
3
4
5
create table test_job(para_date date);
commit;
insert into test_job values(sysdate);
commit;
select * from test_job;
--建立儲存過程
1
2
3
4
create or replace procedure test_jobproce as
begin
insert into test_job values(sysdate);
end test_jobproce;
--建立job
--建立job後預設是執行的
1
2
3
4
5
declare test_job_really number;
begin
dbms_job.submit(test_job_really,
'test_jobproce;'
,sysdate,
'sysdate+1/1440'
);
commit;
end;
執行時間彙總:
1、 每分鐘執行
1
interval => trunc(sysdate,』mi』) + 1 / (24*60)
2、 每天定時執行
例如:每天的凌晨2點執行
1
interval => trunc(sysdate) + 1 +2 / (24)
3、 每週定時執行
例如:每週一凌晨2點執行
1
interval => trunc(next_day(sysdate,2))+2/24
4、 每月定時執行
例如:每月1日凌晨2點執行
1
interval =>trunc(last_day(sysdate))+1+2/24
5、 每季度定時執行
例如每季度的第一天凌晨2點執行
1
interval => trunc(add_months(sysdate,3),
'q'
) + 2/24
6、 每半年定時執行
例如:每年7月1日和1月1日凌晨2點
1
interval => add_months(trunc(sysdate,
'yyyy'
),6)+2/24
7、 每年定時執行
例如:每年1月1日凌晨2點執行
1
interval =>add_months(trunc(sysdate,
'yyyy'
),12)+2/24
---停止job
25是建立的job test_job_really ,可以通過dba_jobs檢視
1
2
3
4
begin
dbms_job.broken(25,
true
);
commit;
end;
--啟動job
1
2
3
4
begin
dbms_job.run(25);
commit;
end;
--刪除job
1
2
3
4
begin
dbms_job.
remove
(25);
commit;
end;
--檢視執行結果
1
select * from test_job order by test_job.para_date desc;
--檢視job
1
select * from sys.user_jobs
--使用下面的sql查詢是否job還在running,前提是需要job執行時間不能過短
1
select * from dba_jobs_running
--除了submit引數外,其餘的幾個引數有:
--執行job
1
dbms_job.run(v_job);
--停止乙個job,裡面引數true也可是false,next_date(某一時刻停止)也可是sysdate(立刻停止)。
1
dbms_job.broke(v_job,
true
,next_date);
--刪除某個job
1
2
dbms_job.
remove
(v_job);
dbms_job.what(v_job,
'sp_fact_charge_code;'
);
--修改某個job名 修改下一次執行時間
1
dbms_job.next_date(v_job,sysdate);
-修改job
oracle 建立job定時執行任務
先建立乙個儲存過程 例如 清空乙個表 定義好自己的job declare job1 number begin dbms job.submit job1,pro job delete sysdate,trunc sysdate 1 每天清楚記錄 end 找到你的job,找到對應的job值 select...
建立JOB定時執行儲存過程
建立job定時執行儲存過程有兩種方式 方式1 通過plsql手動配置job,如下圖 方式2 通過sql語句,如下sql declare job opautodta pls integer 宣告乙個jobid begin sys.dbms job.submit job job opautodta,wh...
oracle 建立儲存過程 在job 定時執行
一 建立儲存過程。create or replace procedure upd pickup weight is begin update hk delivercost detail deltdetl set deltdetl.pickup weight select nvl hkpictdetl...