oracle job的用法
一個簡單例子:
建立測試表
SQL> create table a(a date);
表已建立。
建立一個自定義過程
SQL> create or replace procedure test as
2 begin
3 insert into a values(sysdate);
4 end;
5 /
過程已建立。
建立JOB
SQL> variable job1 number;
SQL>
SQL> begin
2 dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440'); --每天1440分鐘,即一分鐘執行test過程一次
3 end;
4 /
PL/SQL 過程已成功完成。
執行JOB
SQL> begin
2 dbms_job.run(:job1);
3 end;
4 /
PL/SQL 過程已成功完成。
SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 時間 from a;
時間
-------------------
2001/01/07 23:51:21
2001/01/07 23:52:22
2001/01/07 23:53:24
刪除JOB
SQL> begin
2 dbms_job.remove(:job1);
3 end;
4 /
PL/SQL 過程已成功完成。
select job,to_char(next_date,'yyyy-mm-dd hh24:mi:ss') from all_jobs;
----------job的使用:
DBMS_JOB.SUBMIT(:jobno,//job號
'your_procedure;',//要執行的過程
trunc(sysdate)+1/24,//下次執行時間
'trunc(sysdate)+1/24+1'//每次間隔時間
);
刪除job:dbms_job.remove(jobno);
修改要執行的操作:job:dbms_job.what(jobno,what);
修改下次執行時間:dbms_job.next_date(job,next_date);
修改間隔時間:dbms_job.interval(job,interval);
停止job:dbms.broken(job,broken,nextdate);
啟動job:dbms_job.run(jobno);
附:呼叫語句和引數說明:
dbms_job.submit( job out binary_integer,
what in archar2,
next_date in date,
interval in varchar2,
no_parse in boolean)
其中:
●job:輸出變數,是此任務在任務佇列中的編號;
●what:執行的任務的名稱及其輸入引數;
●next_date:任務執行的時間;
●interval:任務執行的時間間隔。
例題:(來源:)
要建一個觸發器,在每天15:30的時候把wzcs.ckjl的表裡面的cksj(出庫時間)欄位為當天的記錄插入到rjck.rkjl裡面!請問如何實現?
declare
jobid number;
v_sql varchar2(2000);
begin
v_sql:='begin
if to_char(sysdate,''HH24:MI'')=''15:30'' then
insert into rjck.rkjl(cksj) select cksj from wzcs.ckjl;
dbms_output.put_line(''inserted success'');
end if;
commit;
exception
when others then
rollback;
dbms_output.put_line(SQLERRM);
end;
';
dbms_job.submit(jobid,v_sql,sysdate,'sysdate+1/1440');
dbms_job.run(jobid);
dbms_output.put_line('job '||to_char(jobid)||' is running');
end;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17065702/viewspace-567392/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle job用法Oracle
- oracle job 用法2Oracle
- Oracle JOB 用法小結Oracle
- 【轉】Oracle JOB 用法小結Oracle
- oracle系統包——dbms_job用法(oracle定時任務)Oracle
- Oracle JOB的使用Oracle
- Oracle中的jobOracle
- oracle jobOracle
- oracle中Job的操作Oracle
- oracle建立job並執行jobOracle
- oracle job管理Oracle
- ORACLE查詢JOB資訊及JOB建立Oracle
- 【JOB】Oracle JOB全面學習(DBMS_JOB和DBMS_SCHEDULER)Oracle
- oracle job管理(zt)Oracle
- oracle 定義jobOracle
- Oracle job備忘Oracle
- oracle job 介紹Oracle
- Oracle job 管理(轉)Oracle
- Oracle中如何停用JOB及如何使用JOBOracle
- Oracle中job的使用詳解Oracle
- oracle job的建立和刪除Oracle
- 【JOB】Oracle中JOB的建立方法以及一個細節的探究Oracle
- oracle job使用詳解及job不執行的檢查方法Oracle
- oracle job_相關Oracle
- Oracle JOB 建立例項Oracle
- Oracle Job 小結(ZT)Oracle
- Oracle JOB 使用方法Oracle
- 停掉oracle自帶jobOracle
- ORCLE 如何停止一個JOB【HOW TO STOP A JOB IN THE ORACLE?】薦Oracle
- oracle對JOB失敗的處理Oracle
- 【Oracle】ORA-23421: job number XXXX is not a job in the job queueOracle
- Oracle Hints的用法Oracle
- Oracle keep的用法Oracle
- Oracle Analyze的用法Oracle
- Oracle中with的用法Oracle
- Oracle Hint的用法Oracle
- Oracle的Cast的用法OracleAST
- Oracle資料庫——Scheduler JobOracle資料庫