Oracle 创建定时任务

Oracle 提供了 DBMS_SCHEDULER 包来管理定时任务,可以用来定期执行 SQL 语句或 PL/SQL 块

1. 创建表

CREATE TABLE EXAMPLE_TABLE (
    ID NUMBER PRIMARY KEY,
    DATA VARCHAR2(100),
    CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

2. 创建任务

BEGIN
  DBMS_SCHEDULER.create_job (
    job_name        => 'delete_example_table_data', -- job名称
    job_type        => 'PLSQL_BLOCK', -- 指定作业类型为PL/SQL代码块
    job_action      => 'BEGIN DELETE FROM EXAMPLE_TABLE WHERE CREATE_TIME < CURRENT_TIMESTAMP -7; END;', -- 要执行的PL/SQL代码
    start_date      => SYSTIMESTAMP, -- 开始时间
    repeat_interval => 'FREQ=DAILY; BYHOUR=0; BYMINUTE=0; BYSECOND=0', -- 重复周期为每天0点0分0秒 ,'FREQ=Minutely;Interval=5' 每隔5分钟执行一次
    enabled         => TRUE -- 创建后立即启用作业
  );
END;    

3. 查看任务

SELECT * FROM user_scheduler_jobs;

4. 删除任务

BEGIN
   DBMS_SCHEDULER.drop_job (
      job_name => 'delete_example_table_data',
      force    => TRUE -- 强制删除一个可能正在运行的任务
   );
END;
  • 禁用任务
BEGIN
    DBMS_SCHEDULER.DISABLE('delete_example_table_data');
END;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fisher3652

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值