求一个Oracle触发器 只保存近2天的表中数据,(将之前的数据自动触发删除)。例如对表historyData执行。

2025-03-24 04:23:52
推荐回答(2个)
回答1:

您好,在表A上建触发器代码里是不可以对表A进行select delete update insert等操作的。建议建procedure 然后使用job来实现你的需求。或者是在表B上建触发器,当触发时检查表A数据并进行删除。
存储过程写法:
create or replace procedure del_data
as
begin
delete from historyData where date_col < sysdate-2;
commit;
end;

回答2:

delete from historyData where dTime< date_add(sysdate, interval -2 day);