oracle定时更新(JOBS)

发布时间:2016-10-28 00:00:00 编辑:嘉辉 手机版

  rm.pro_hrm_emp_info_job过程

  需要每天都更新,所以先创建个procedure,再创建个job就可以实现定时更新

  create or replace procedure rm.pro_hrm_emp_info_job is

  zm

  begin

  update rm.hrm_emp_info

  set ages = to_number(TRUNC(nvl((sysdate brith_date) / 365, 0))),

  leng_serv = to_number(TRUNC(nvl((sysdate work_date) / 365, 0))),

  ins_len_ser = to_number(TRUNC(nvl((sysdate ente_appe_date) / 365,

  0)));

  commit;

  end pro_hrm_emp_info_job;

  相应的job

  declare

  jobno number;

  begin

  dbms_job.submit(jobno,’rm.pro_hrm_emp_info_job;’,trunc(sysdate),’trunc(sysdate)+1’);每天零点更新

  commit;

  end;

  /

  分解下job

  dbms_job.submit(jobno, job号,由sys.jobseq生成

  ’rm.pro_hrm_emp_info_job;’, 要执行的procedure

  trunc(sysdate), 下次要执行的时间

  ’trunc(sysdate)+1’); 每次间隔的时间,此处的1标识一天 也可1/1440每一分钟执行一次

  查看

  select * from sys.user_jobs;

  其中创建的jobno(任务号)由sys.jobseq序列生成

  主由packages中的sys.dbms_job执行

  细节可以查看sys.dbms_job包内容。

本文已影响875
+1
0