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

Delete a row after certain time using trigger

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

Create Trigger to delete rows that are >90 days old

这是我尝试做但做不到的参考。 请帮我解决这个问题。

您正在寻找 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 了解更多信息。

干杯!!