定时删除6个月以上的人员数据并把删除的数据同步到另一张表
warning:
这篇文章距离上次修改已过270天,其中的内容可能已经有所变动。
用的达梦数据库
我的做法是 定时任务 + 数据库触发器
定时任务删除 sql 6个月以上的
然后数据库触发器会把删除的数据插入到另一张表
CREATE TABLE CAR_GETOUT_LOGS_COPY (
USER_ID VARCHAR(50),
CAR_NAME VARCHAR(50),
CROSS_TIME VARCHAR(50)
);
CREATE OR REPLACE TRIGGER SaveCARDeletedDataTrigger
BEFORE DELETE ON CAR_GETOUT_LOGS
FOR EACH ROW
BEGIN
INSERT INTO CAR_GETOUT_LOGS_COPY
(USER_ID , CAR_NAME, CROSS_TIME)
VALUES(:OLD.USER_ID, :OLD.CAR_NAME, :OLD.CROSS_TIME);
END;
DROP TRIGGER IF EXISTS SaveCARDeletedDataTrigger;
SELECT *
FROM USER_TRIGGERS
WHERE TABLE_NAME = 'CAR_GETOUT_LOGS';
delete from CAR_GETOUT_LOGS where EVENT_TIME < '2023-09-19 00:00:00'