`

oracle的job,执行存储过程

 
阅读更多
在plsql develpoer 里, 贴入下列代码,点执行
DECLARE
   job_no_  NUMBER;   
BEGIN   
   DBMS_JOB.SUBMIT(job_no_,
                   'insert_Prod;',             -- 一般会将 insert into 语句写到一个存储过程insert_Prod中
           sysdate,
                   'TRUNC(sysdate)+1+2/24');     -- 2/24 每天凌晨2点
   COMMIT;
END; 

查询Oracle里的job
select 
job,last_date,last_sec,next_sec,total_time,interval,what
from user_jobs
在plsql中执行如下脚本可以创建一个在每天晚上23点执行的job

begin
  sys.dbms_job.submit(job => :job,   -- job编号
                      what => 'dbms_output.pub_line(''asdf'');',  -- 执行脚本
                      next_date => to_date('17-01-2011 16:17:31', 'dd-mm-yyyy hh24:mi:ss'),   -- 下次执行时间
                      interval => 'trunc(sysdate)+23/24');  -- 执行时间间隔
  commit;
end;
/


其中interval参数的几个可能的示范值如下:
A,每5分钟执行一次
interval => 'trunc(sysdate,'mi')+5/24/60'
B,每小时执行一次,整点执行
interval => 'trunc(sysdate,'HH')+1/24'
C,一个小时后执行
interval => 'sysdate+1/24' 
分享到:
评论
Global site tag (gtag.js) - Google Analytics