用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就生成了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值