项目中遇到创建oracle定时任务

最近项目中遇到创建oracle定时任务还用到了拼串功能记录一下

1.创建定时删除表的存储过程

默认保存当前两天的(今天17号 就删除16号之前的)

CREATE ORREPLACE PROCEDURE delete_proc2  IS

BEGIN

  declare

       sqlstr VARCHAR(200);

       tabletime varchar(10);

    begin

      select to_char(sysdate - 3, 'yyyymmdd')into tabletime from dual;

    for i in 0..5 loop

     sqlstr := 'drop table EVENT' || tabletime|| '_' || i;

      execute immediate sqlstr;

      end loop;

    end;

  COMMIT;

EXCEPTION

  WHEN OTHERS THEN

    DBMS_OUTPUT.PUT_LINE('Exceptionhappened,data was rollback');

    ROLLBACK;

END;

 

2.创建oracle定时任务

用command Window

         var job_num number;

 begin

    dbms_job.submit(:job_num,' delete_proc2;', trunc(sysdate)+23/24,'sysdate+23/24');

 end;

 

        

 

3.通过  select * from Dba_Jobs;来查看任务执行的时间,下次执行时间等

 

4.停止已经启动的定时任务:

先执行selectjob,next_date,next_sec,failures,broken from user_jobs;

以查看定时任务的job号。

在SQL>中执行下面的语句停止一个已经启动的定时任务:


begin
 dbms_job.remove(1);
commit;
end;
/
 

表示停止job为1的任务。

执行后显示如下:


PL/SQL procedure successfully completed

 

 

测试用见表语句

createtablesystem.EVENT20150915_0

 (

  seq NUMBER(2) PRIMARYKEY,

   seqtime  DATE )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值