Oracle中的job定時任務

2021-07-13 01:13:26 字數 1700 閱讀 8170

--

1.plsql中學習job   

--學習job  

--建表  

create

table test_job(para_date date);  

commit;  

insert

into test_job 

values(sysdate);  

commit; 

select

*from test_job; --

建立存貯過程   

create

orreplace

procedure test_jobproce   

asbegin

insert

into test_job 

values(sysdate);  

end test_jobproce;  --

建立job  

--建立job後預設是執行的  

declare  test_job_really 

number;  

begin

dbms_job.submit(test_job_really,

'test_jobproce;

',sysdate,

'sysdate+1/1440

');  

commit;  

end;   --

-停止job  25是建立的job test_job_really  

begin

dbms_job.broken(

25,true);  

commit;  

end;   --

啟動job  

begin

dbms_job.run(

25);  

commit;  

end;   --

刪除job  

begin

dbms_job.remove(

25);  

commit;  

end;   --

檢視執行結果  

select

*from test_job 

order

by test_job.para_date 

desc;    --

檢視job  

select

*from sys.user_jobs    --

使用下面的sql查詢是否job還在running,前提是需要job執行時間不能過短  

select

*from dba_jobs_running   --

除了submit引數外,其餘的幾個引數有:  

--執行job 

dbms_job.run(v_job);   --

停止乙個job,裡面引數true也可是false,next_date(某一時刻停止)也可是sysdate(立刻停止)。  

dbms_job.broke(v_job,true,next_date);  --

刪除某個job  

dbms_job.remove(v_job);  

dbms_job.what(v_job,

'sp_fact_charge_code;

');  --

修改某個job名 修改下一次執行時間  

dbms_job.next_date(v_job,sysdate);       

oracle中定時任務job

oracle中的job能為你做的就是 在你規定的時間格式裡定時執行儲存過程,定時執行乙個任務 建立job及執行 variable job2010 number begin dbms job.submit job2010,spgenchanneluseroneday sysdate,sysdate 1...

Oracle定時任務Job

建立測試用表 create table tb job job name varchar2 5 update dt varchar2 20 新增多個oracle job來併發執行 declare job name varchar2 20 begin dbms output.put line curre...

oracle 建立定時任務job,建立sql

建立定時任務,判斷如果已有這個定時任務,則刪除重建 declare jobnum number 5 0 jobid number 5 0 begin 查是否已經存在,排程的job select count into jobnum from dba jobs where upper what like...