基于时间plsql的触发器

Mat*_*een -2 mysql sql plsql

是否可以根据时间创建触发器或事件,如时间是02:00然后从表中删除记录并将其插入到其他表中,以便清理审计日志或创建备份或执行某些过程可以执行.如果可能,请提供示例示例.

(编辑)

我创建了下面的活动,但它没有用,我在这里错过了什么

mysql> CREATE EVENT myevent ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 MINUTE DO UPDATE test.test SET number = 11;

这里test是一个包含number_name的表

Sat*_*hat 5

根据时间事件创建触发器,如时间是02:00

不要使用触发器,根据数据库版本使用DBMS_SCHEDULERDBMS_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');
Run Code Online (Sandbox Code Playgroud)

然后运行'daily_report'程序

DBMS_SCHEDULER.CREATE_PROGRAM (
   program_name => 'daily_report_job',
   program_type   => 'STORED_PROCEDURE',
   program_action    => 'daily_report',
   enabled   => TRUE);
Run Code Online (Sandbox Code Playgroud)