新聞中心
oracle定時(shí)器怎么使用
那是自動(dòng)任務(wù)創(chuàng)建job,你這里具體怎么改表沒說,我就大致舉個(gè)例子declare
網(wǎng)站設(shè)計(jì)制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺(tái)管理系統(tǒng);網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運(yùn)營了10余年的成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司。
jobno number;
begin
dbms_job.submit(jobno,'begin update table1 set a=''test''; end;',trunc(sysdate)+1,'trunc(sysdate)+1');
end;
這里第一個(gè)參數(shù)是任務(wù)編號(hào),系統(tǒng)自動(dòng)賦值。也可以采用isubmit來手動(dòng)指定第二個(gè)參數(shù)是需要執(zhí)行的任務(wù)過程,代碼長的話,可以將它寫到一個(gè)存儲(chǔ)過程里,再放到里面調(diào)用,比如'pro_test;' (pro_test假定為一個(gè)存儲(chǔ)過程名)第三個(gè)參數(shù)是,自動(dòng)任務(wù)第一次執(zhí)行的時(shí)間,如果需要它立即執(zhí)行,則使用sysdate最后一個(gè)參數(shù),系統(tǒng)根據(jù)該參數(shù)的值指定下一次的執(zhí)行時(shí)間。如果需要每天0點(diǎn)執(zhí)行,就用我上面寫的 創(chuàng)建好job后,可以在all_jobs中查詢它的狀態(tài)不需要時(shí),使用dbms_job.remove來移除。dbms_job.broken可以用來停止和啟動(dòng)任務(wù)
oracle 如何編寫定時(shí)腳本
用job,具體用法:
declare
n_job binary_integer;
begin
dbms_job.submit(n_job, '你要執(zhí)行的東西', sysdate, TRUNC(LAST_DAY(SYSDATE))+4+2/24);
end;
-- 每月4號(hào)執(zhí)行
dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate,'TRUNC(LAST_DAY(SYSDATE))+4+2/24');
-- 每分鐘執(zhí)行一次
dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate,'TRUNC(sysdate,’mi’) + 1 / (24*60)');
-- 凌晨兩點(diǎn)執(zhí)行
dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate,'TRUNC(sysdate) + 1 + 2/24');
-- 每周一凌晨2點(diǎn)執(zhí)行 周一是每周的第二天next_day(sysdate,2)同理周二是第三天,next_day(sysdate,3)
dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate,'TRUNC(next_day(sysdate,2))+2/24');
-- 每月1日凌晨兩點(diǎn)執(zhí)行
dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate,'TRUNC(LAST_DAY(SYSDATE))+1+2/24');
-- 每季第一天凌晨兩點(diǎn)執(zhí)行
dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate,'TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 2/24');
-- 每年7月1日和1月1日凌晨2點(diǎn)
dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate,'ADD_MONTHS(trunc(sysdate,'yyyy'),6)+2/24');
-- 每年1月1日凌晨2點(diǎn)執(zhí)行
dbms_job.submit(n_job_01,'你調(diào)的東西',sysdate, 'Add_months(trunc(sysdate,'yyyy'), 12) +2/24');
oracle定時(shí)任務(wù)時(shí)間怎么寫?
我感覺你應(yīng)該是不知道怎么寫每月和每年吧。其實(shí)很簡單,把你下次時(shí)間的字符串拿出來看下就行。下面是代碼。
DECLARE
I4 INTEGER;I5 INTEGER;
BEGIN
--每月5號(hào)中午12點(diǎn)
DBMS_JOB.SUBMIT(I4,'YOUR PROC;',SYSDATE,'TRUNC(SYSDATE, ''MM'') + 4 + 12 / 24');
--每年1月10號(hào)中午12點(diǎn)
DBMS_JOB.SUBMIT(I5,'YOUR PROC;',SYSDATE,'TRUNC(SYSDATE, 'Y') + 9 + 12 / 24');
COMMIT;
END;
怎么在oracle中做定時(shí)器呢?
創(chuàng)建scheduler,PL/SQL Developer里可以直接創(chuàng)建,也可以寫SQL創(chuàng)建,類似以下語法:
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;
如果懂了希望點(diǎn)一下采納
如何使用plsql工具創(chuàng)建oracle數(shù)據(jù)庫的定時(shí)器
通過plsql查看tables、views等文件夾,找到定時(shí)器對(duì)應(yīng)的DBMS_Jobs文件夾。
在文件夾或者在已有的定時(shí)器上右鍵 new... 創(chuàng)建一個(gè)新的job(定時(shí)器)
輸入紅色選中的必輸參數(shù)。What里面是一些存儲(chǔ)過程,可以是一個(gè)或者多個(gè)。多個(gè)之間用分好;隔開,可以數(shù)據(jù)一下注釋說明,格式“/*存過說明*/。點(diǎn)擊應(yīng)用即可保存。點(diǎn)擊View SQL可以查看job對(duì)應(yīng)的sql腳本。
如果想查看一些腳本,處理通過打開文件夾的方式,也可以使用更方便的sql語句進(jìn)行查看。
SELECT * FROM dba_jobs;
注意,如果next_date是4000-1-1表示這個(gè)腳本已經(jīng)是停止?fàn)顟B(tài)。
如果想查詢某個(gè)存儲(chǔ)過程對(duì)應(yīng)的哪個(gè)job可以通過dba_jobs表中what字段根據(jù)條件查詢查看job.
dba_jobs中的job字段對(duì)應(yīng)的值就和DBMS_Jobs中對(duì)應(yīng)的數(shù)字是一致的,可以對(duì)信息進(jìn)行修改更新。
網(wǎng)站題目:oracle定時(shí)器如何寫 Oracle定時(shí)器
本文路徑:http://ef60e0e.cn/article/hpdpgi.html