a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 368|回复: 0

[考试辅导] oracle定时更新(JOBS)

[复制链接]
发表于 2012-8-4 14:06:19 | 显示全部楼层 |阅读模式
 rm.pro_hrm_emp_info_job过程8 V3 H7 w" u5 ?' f0 ~  D, Y
  需要每天都更新,所以先创建个procedure,再创建个job就可以实现定时更新0 V6 G8 ~' O% t4 }' ]; N
  create or replace procedure rm.pro_hrm_emp_info_job is
: m# H( k% _/ E! M( {4 x  zm3 J7 }+ ^- U; u: P$ I# }9 A0 K; i
  begin8 i" U( e# e; N# s, r, V" V7 F7 j
  update rm.hrm_emp_info
3 h4 w, k4 ]# W7 W  set ages = to_number(TRUNC(nvl((sysdate brith_date) / 365, 0))),
( m2 Z9 j* N3 X  leng_serv = to_number(TRUNC(nvl((sysdate work_date) / 365, 0))),8 n; y& x; s/ {& x4 B$ {) g( k
  ins_len_ser = to_number(TRUNC(nvl((sysdate ente_appe_date) / 365,
9 t8 ]6 J! H  o: \  B  A. G/ h  0)));
+ Z! V8 F" ]" U4 U5 s  commit;
) W& g! V/ `+ W: C3 O7 ]- U! R  end pro_hrm_emp_info_job;
# ^! Z6 a2 G3 [, c2 k! h( Y6 \  相应的job
9 A. d# q2 `: ^# A6 t+ t4 O$ A7 l  declare
4 t5 T4 r- a; v  jobno number;. R/ F% W6 z8 }" X$ Q9 b
  begin
3 t( {7 |. S1 K1 C0 R% t; j0 T  dbms_job.submit(jobno,’rm.pro_hrm_emp_info_job;’,trunc(sysdate),’trunc(sysdate)+1’);每天零点更新
) b% G  F8 w4 q7 F$ \6 N  commit;1 i' @. F$ O! M) ^- @) Y, x4 m/ N. B; c
  end;
) c8 m3 E/ t# T) u  /2 S8 K# r4 ^, {& v
  分解下job  d0 q# ^1 G" N) b9 ^" \
  dbms_job.submit(jobno, job号,由sys.jobseq生成
; U$ q4 V4 l# ?9 ^+ G3 }3 Y  ’rm.pro_hrm_emp_info_job;’, 要执行的procedure
+ Q5 P& T  l, G; E8 L  trunc(sysdate), 下次要执行的时间
4 f: o' ~8 f3 _. M7 J  ’trunc(sysdate)+1’); 每次间隔的时间,此处的1标识一天 也可1/1440每一分钟执行一次! T4 Y( {0 z( G5 g# a
  查看
' v8 ?  V' R3 q  select * from sys.user_jobs;; v1 [6 q! V+ N! d& H% o: \0 @
  其中创建的jobno(任务号)由sys.jobseq序列生成
! c$ S& m* {/ p8 Y3 d  主由packages中的sys.dbms_job执行
( }* }9 I; d1 r  \  细节可以查看sys.dbms_job包内容。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-9-23 02:09 , Processed in 0.197858 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表