ORACLE 創建作業JOB例子


 

-- 1.plsql中學習job   
--
學習job  
--
建表  
create  table test_job(para_date date);  
commit;  
  
insert  into test_job  values(sysdate);  
commit
 
select  *  from test_job;
  
-- 建立存貯過程   
create  or  replace  procedure test_jobproce    as  
begin  
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);       

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM