oracle資料庫做定時任務(插入) 筆記

2021-07-24 19:39:48 字數 1773 閱讀 5671

--建立測試表

create table test_user(name varchar2(20),age int,addr varchar2(50));

--建立乙個自定義過程

create or replace procedure test_procedureas  is

begin

insert into test_user values('張三',23,'北京');

insert into test_user values('張四',33,'上海');

insert into test_user values('張五',53,'北京');

end;

--注意建立乙個job用到的函式是sys.dbms_job.submit()函式

--該函式裡面的第乙個引數是job用來唯一表示job的 ,是out型的,就像procedure中的int相對應的out一樣

--該引數是函式方法返回的引數

declare  

test_job number;     

begin

sys.dbms_job.submit(test_job,'test_procedureas;',sysdate,'sysdate+10/1440');

end;

--注意建立完畢後要提交事物

commit;

--從user_jobs表裡面查詢job;如果有則說明job建立成功了

select * from user_jobs

--**********************執行job    ,25是建立的那個job(user_jobs表中的job欄位)

begin

dbms_job.run(25);

end;

--*********************修改job的間隔時間

begin

dbms_job.interval(25,'sysdate+1');

end;

--*********************刪除job

begin

dbms_job.remove(25);

end;

相關的幾個job操作

8 25 11:30

selectto_char(add_months(sysdate,2),'yyyy-mm-dd') from dual

刪除job:dbms_job.remove(jobno);

修改要執行的操作:      job:dbms_job.what(jobno,what);

停止job:dbms.broken(job,broken,nextdate);

啟動job:dbms_job.run(jobno);

每天午夜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)'

注意建立job後需要提交事物

oracle資料庫定時任務

不久前,做的專案中需要用到定時任務 有兩種實現方式 應用程式,資料庫。決定採用資料庫的定時任務。關於資料庫定時任務的資料,網上有很多文章,但當自己在設計時,並沒有僅通過一篇文章就解決問題。於是決定綜合網上資料和自己的專案,寫一篇oracle資料庫自帶的job來實現定時任務。一 定時任務的建立 啟動 ...

oracle資料庫定時任務

常要oracle資料庫定時的自動執行一些指令碼,或做資料庫備份,或做資料的提煉,或做資料庫的效能優化,包括重建索引等等的工作,這時需要用到乙個函式dbms job.submit,來完成oracle定時器job時間的處理上。使用dbms job.submit這個函式,我們只需要考慮兩個事情 安排某一任...

oracle資料庫定時任務

1.定時任務樣例 一 建立乙個表 create table t free twice id number 8 primary key,name nvarchar2 20 二 建立序列 記錄id值 create sequence create sequence t free twice log min...