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

问题描述 投票:-2回答:1

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

Create Trigger to delete rows that are >90 days old

这是我尝试通过它做的参考,但是无法做到。请帮助我解决这个问题。

database oracle triggers database-trigger
1个回答
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以获取更多信息。

干杯!

© www.soinside.com 2019 - 2024. All rights reserved.