gpt4 book ai didi

postgresql - postgres 创建 "delete_expired_rows"- 触发器

转载 作者:行者123 更新时间:2023-11-29 13:08:37 27 4
gpt4 key购买 nike

我有一些代码在 sys_period 结束时不删除行,我将它们移动到历史表中。所以我想创建一个触发器,在更新一行之后查看所有行并删除在 sys_period 结束时不是无穷大的每一行。我的初步猜测如下。但我不是 SQL 语法的高手,你能帮帮我吗?

CREATE TRIGGER {0}_delete_old_rows_trigger
AFTER UPDATE ON "{0}"
BEGIN
DELETE FROM "{0}"
WHERE upper_inf(sys_period) is FALSE
END

最佳答案

这看起来可以用查询重写规则来处理:

CREATE RULE upd_to_del AS ON UPDATE TO tab
WHERE NOT upper_inf(NEW.sys_period)
DO INSTEAD
DELETE FROM tab WHERE id = NEW.id;

关于postgresql - postgres 创建 "delete_expired_rows"- 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57867939/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com