基于时间的触发器 plsql

triggers based on time plsql

是否可以根据时间创建触发器或事件,例如如果时间是 02:00 然后从 table 中删除一条记录并将其插入其他 table,所以可以执行清理审计日志或创建备份或执行某些程序的操作。如果可能,请提供示例。

(编辑)

我创建了以下活动,但它不起作用我在这里错过了什么

mysql> 按计划在 CURRENT_TIMESTAMP + 间隔 1 分钟内创建事件 myevent 进行更新 test.test 设置编号 = 11;

这里的测试是 table,其中包含数字 column_name

create triggers based on time events like if the time is 02:00

不要使用触发器,根据数据库版本使用 DBMS_SCHEDULER or DBMS_JOB 适用的那个。

这会在每天凌晨 2 点创建一个 运行 作业

BEGIN
  DBMS_SCHEDULER.create_job (
    job_name        => 'daily_report_run',
    job_type        => 'STORED_PROCEDURE',
    job_action      => 'daily_run',
    start_date      => SYSTIMESTAMP,
    repeat_interval => 'freq=hourly; byhour=2',
    end_date        => NULL,
    enabled         => TRUE);
END;
/
dbms_scheduler.create_schedule('daily_run', repeat_interval =>
  'FREQ=DAILY;BYHOUR=02');

然后 运行s 'daily_report' 过程

DBMS_SCHEDULER.CREATE_PROGRAM (
   program_name => 'daily_report_job',
   program_type   => 'STORED_PROCEDURE',
   program_action    => 'daily_report',
   enabled   => TRUE);