創(chuàng)建scheduler,PL/SQL Developer里可以直接創(chuàng)建,也可以寫SQL創(chuàng)建,類似以下語法:

高坪網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司于2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選成都創(chuàng)新互聯(lián)公司。
begin
sys.dbms_scheduler.create_schedule(schedule_name = 'FRQ_CATALOG.TT',
start_date = to_date('18-10-2011 00:00:00', 'dd-mm-yyyy hh24:mi:ss'),
repeat_interval = 'Freq=Daily;Interval=0',
end_date = to_date('31-10-2011 00:00:00', 'dd-mm-yyyy hh24:mi:ss'),
comments = '');
end;
如果懂了希望點一下采納
那是自動任務創(chuàng)建job,你這里具體怎么改表沒說,我就大致舉個例子declare
jobno number;
begin
dbms_job.submit(jobno,'begin update table1 set a=''test''; end;',trunc(sysdate)+1,'trunc(sysdate)+1');
end;
這里第一個參數(shù)是任務編號,系統(tǒng)自動賦值。也可以采用isubmit來手動指定第二個參數(shù)是需要執(zhí)行的任務過程,代碼長的話,可以將它寫到一個存儲過程里,再放到里面調用,比如'pro_test;' (pro_test假定為一個存儲過程名)第三個參數(shù)是,自動任務第一次執(zhí)行的時間,如果需要它立即執(zhí)行,則使用sysdate最后一個參數(shù),系統(tǒng)根據(jù)該參數(shù)的值指定下一次的執(zhí)行時間。如果需要每天0點執(zhí)行,就用我上面寫的 創(chuàng)建好job后,可以在all_jobs中查詢它的狀態(tài)不需要時,使用dbms_job.remove來移除。dbms_job.broken可以用來停止和啟動任務
用job
oracle定時器調用存儲過程
1、創(chuàng)建一個表,為了能清楚看到定時器的運行情況我們創(chuàng)建一個帶有日期字段的表
Sql代碼 ?
create table job_table(run_time date); ?
create table job_table(run_time date);
2、創(chuàng)建存儲過程
Sql代碼 ?
create or replace procedure job_proc is ?
begin
insert into job_table (run_time) values (sysdate); ?
end; ?
create or replace procedure job_proc is
begin
insert into job_table (run_time) values (sysdate);
end;
3、創(chuàng)建job,并且指定為一分鐘執(zhí)行一次
Sql代碼 ?
declare
job number; ?
begin
dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)'); ?
end/ ?
commit; ?
declare
job number;
begin
dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)');
end/
commit;
4.創(chuàng)建之后自動處于運行狀態(tài),我們查詢job表,看看我們創(chuàng)建的job
Sql代碼 ?
select job,broken,what,interval,t.* from user_jobs t; ?
select job,broken,what,interval,t.* from user_jobs t;
job broken what interval ...
81 N job_proc; TRUNC(sysdate,'mi') + 1 / (24*60) ...
用job
oracle定時器調用存儲過程
創(chuàng)建一個表,為了能清楚看到定時器的運行情況我們創(chuàng)建一個帶有日期字段的表
Sql代碼 ?
create table job_table(run_time date); ?
create table job_table(run_time date);
2.創(chuàng)建存儲過程
Sql代碼 ?
create or replace procedure job_proc is ?
begin
insert into job_table (run_time) values (sysdate); ?
end; ?
create or replace procedure job_proc is
begin
insert into job_table (run_time) values (sysdate);
end;
3.創(chuàng)建job,并且指定為一分鐘執(zhí)行一次
Sql代碼 ?
declare
job number; ?
begin
dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)'); ?
end/ ?
commit; ?
declare
job number;
begin
dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)');
end/
commit;
4.創(chuàng)建之后自動處于運行狀態(tài),我們查詢job表,看看我們創(chuàng)建的job
Sql代碼 ?
select job,broken,what,interval,t.* from user_jobs t; ?
select job,broken,what,interval,t.* from user_jobs t;
job broken what interval ...
81 N job_proc; TRUNC(sysdate,'mi') + 1 / (24*60) ...
在web.xml配置一個servlet設置啟動順序優(yōu)先級高些(說白了就是web服務啟動時調用這個類)
servlet
servlet-namet1/servlet-name
servlet-classcom.base.test.T1/servlet-class
!-- 如果需要自動加載,加下面一句 --
load-on-startup1/load-on-startup
/servlet
在這個T1類中的初始化方法ini中寫一個Timer類,按shcedule 定時去執(zhí)行那個業(yè)務方法即可。
通過plsql查看tables、views等文件夾,找到定時器對應的DBMS_Jobs文件夾。
在文件夾或者在已有的定時器上右鍵 new... 創(chuàng)建一個新的job(定時器)
輸入紅色選中的必輸參數(shù)。What里面是一些存儲過程,可以是一個或者多個。多個之間用分好;隔開,可以數(shù)據(jù)一下注釋說明,格式“/*存過說明*/。點擊應用即可保存。點擊View SQL可以查看job對應的sql腳本。
如果想查看一些腳本,處理通過打開文件夾的方式,也可以使用更方便的sql語句進行查看。
SELECT * FROM dba_jobs;
注意,如果next_date是4000-1-1表示這個腳本已經(jīng)是停止狀態(tài)。
如果想查詢某個存儲過程對應的哪個job可以通過dba_jobs表中what字段根據(jù)條件查詢查看job.
dba_jobs中的job字段對應的值就和DBMS_Jobs中對應的數(shù)字是一致的,可以對信息進行修改更新。
你的另一個問題不是有人說過了么?不需要刪除,只需要增加一個時間標志字段記錄訂單的產(chǎn)生時間。判斷訂單有效的時候加一個判斷就是了,如果需要查詢,查詢條件增加對時間的判斷,在時間標志字段上建立索引就好。
如果實在需要刪除的,那么也是應該通過定時任務來批量刪除,可以用oracle_job,也可以用腳本/程序配合系統(tǒng)的定時任務功能(例如Linux的cron或者at,Windows的任務計劃管理)來實現(xiàn)。每條記錄都調用觸發(fā)器,性能消耗很大的。
文章題目:oracle怎么定時器 oracle定時器執(zhí)行語句
文章路徑:http://chinadenli.net/article34/hehsse.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機、定制開發(fā)、App設計、響應式網(wǎng)站、做網(wǎng)站、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)