用PLSQL DEVELOPER创建自动定时执行JOB

有时,我们可能需要让oracle自动定时去执行特定的任务,比如数据备份,自动更新等等,用PLSQL DEVELOPER可以很轻松的完成这个事情:


      具体如下:


      1,创建你要定期执行的存储过程,并保存起来。比如下面这个存储过程,自动为没有提交周报的单位提交一份系统默认的周报。并把已经写了的草稿也自动提交,这个任务需要每周五早上9点执行,我们先创建存储过程并保存:


create or replace procedure AUTO_COMMIT_WEEKREPORT as
BEGIN
  insert into TB_FLOWWEEKLYREPORT(WEEKLYID,ORGID,ORGNAME,CURWEEK,OPERATIONINFO,SECURITYINFO,ADVISEMENT,FLAG,STATUS,MEMO,OPID,OPTIME)
  select x.weekID,x.orgid,a.orgname,x.curweek,'正常','正常','无',1,2,'',x.userid,x.curtime from (
                 select t.*,'WR'||to_char(sysdate,'YYYY')||'_'||to_char(sysdate,'WW')||'_'||t.orgid weekID,
                        to_char(sysdate,'WW') curweek,to_char(sysdate,'YYYYMMDDHH24MISS') curTime  
                 from TB_FLOWWEEKLYUSER t where t.orgid not in(
                       select y.orgid from TB_FLOWWEEKLYREPORT y 
                           where y.curweek=to_char(sysdate,'WW'))) x left join sys_orginfo a on x.orgid=a.orgid;
  update TB_FLOWWEEKLYREPORT set FLAG=1,STATUS=2 where FLAG=0;
  commit;
END AUTO_COMMIT_WEEKREPORT;


 


      2.打开DEVELOPER,在左下方的列表里选中DBMS_Jobs,然后按右键然后选择new,在出来的界面里,what后面填入刚创建的存储过程“AUTO_COMMIT_WEEKREPORT ;”注意后面有个分号。next date可以不填,interval填入你要定时执行的时间。这里是星期五上午9点,我们这样填“TRUNC(next_day(sysdate,'星期五'))+9/24”就可以了。其他的可以不填写。


       这样就可以了,一个定时执行的job就生成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值