在一定时间后使用触发器删除一行

时间:2019-10-19 07:19:50

标签: database oracle triggers database-trigger

我想创建一个触发器,如果​​状态未更新,则该触发器将在3个月后自动删除表中的行。

Create Trigger to delete rows that are >90 days old

这是我尝试执行但无法执行的参考。 请帮助我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您正在寻找dbms_scheduler

begin
dbms_scheduler.create_job (
    job_name => 'DEL_BEFORE_3MONTH_JOB',
    job_type => 'PLSQL_BLOCK',
    job_action => 'BEGIN DELETE FROM YOUR_TABLE WHERE ADD_MONTHS(YOUR_DATE,3) < TRUNC(SYSDATE); COMMIT; END;',
    start_date => sysdate,
    repeat_interval => 'FREQ=DAILY;BYHOUR=12', -- NOON
    enabled => true    
);
end;
/

请参阅此document,以获取更多信息。

干杯!