PostgreSql触发器(删除数据后触发操作)
在PostgreSQL中,您可以使用AFTER DELETE触发器来执行删除数据后的操作。以下是创建此类触发器的示例代码:
CREATE OR REPLACE FUNCTION after_delete_function()
RETURNS TRIGGER AS $$
BEGIN
-- 在这里编写删除数据后想要执行的操作
-- 例如,可以记录删除操作到另一张表
INSERT INTO audit_log(table_name, row_id, action, timestamp)
VALUES('your_table_name', OLD.id, 'DELETE', now());
RETURN OLD; -- 返回被删除的记录
END;
$$ LANGUAGE plpgsql;
-- 创建触发器,绑定到特定的表上
CREATE TRIGGER after_delete_trigger
AFTER DELETE ON your_table_name
FOR EACH ROW
EXECUTE FUNCTION after_delete_function();
在这个例子中,your_table_name
是您想要为其创建触发器的表名,audit_log
是用来记录变更的表(您需要预先创建这个表)。OLD.id
是假设your_table_name
有一个id
字段的被删除行的标识符。
确保在执行这些操作之前,您已经有了audit_log
表和相应的权限。
评论已关闭