Oracle Job的批量删除与重建脚本

本文介绍了一种在Oracle数据库中批量创建和删除调度作业的方法,使用PL/SQL块实现对多个JOB的统一管理,适用于定期任务的自动化处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-- 批量删除job  
declare
v_exist number(2); -- job是否存在
begin
  for x in 1..8 LOOP
    select count(1) into v_exist from user_scheduler_jobs WHERE job_name = 'PROCESS_BILL_DATA_' || x ;
    if v_exist > 0 then
      dbms_scheduler.drop_job(job_name => 'PROCESS_BILL_DATA_' || x,force => TRUE);
      dbms_output.put_line('drop job :' || x );
    end if;
  end loop;
end;
/
-- 查看pl/sql output页签输出,显示日志,删除job的个数


-- 批量创建job  8个
declare
begin
  for x in 1..8 LOOP
      sys.dbms_scheduler.create_job(job_name            => 'PROCESS_BILL_DATA_' || x,
                                    job_type            => 'PLSQL_BLOCK',
                                    job_action          => 'begin process_bill_data(8,'||(x-1)||',10000,500); end;',
                                    start_date          => to_date('06-08-2013 16:26:05', 'dd-mm-yyyy hh24:mi:ss'),
                                    repeat_interval     => 'FREQ=MINUTELY;INTERVAL=1;',
                                    end_date            => to_date(null),
                                    job_class           => 'DEFAULT_JOB_CLASS',
                                    enabled             => true,
                                    auto_drop           => true,
                                    comments            => '清单数据处理_'||x);
      dbms_output.put_line('create job :' || x );
  end loop;
end;
/

  

转载于:https://www.cnblogs.com/fubinhnust/p/9928642.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值