postgresql – 触发器:将已删除的行移动到存档表
发布时间:2020-12-13 16:20:30 所属栏目:百科 来源:网络整理
导读:我的PostgreSQL数据库中有一个称为限制的小(~10行)表,其中值被删除并每天插入. 我想有一个名为restrictions_deleted的表,其中从限制中删除的每一行都将自动存储.由于限制具有序列ID,因此不会重复. 如何在PostgreSQL中编写这样的触发器? 您只需要在删除之前
我的PostgreSQL数据库中有一个称为限制的小(~10行)表,其中值被删除并每天插入.
我想有一个名为restrictions_deleted的表,其中从限制中删除的每一行都将自动存储.由于限制具有序列ID,因此不会重复. 如何在PostgreSQL中编写这样的触发器?
您只需要在删除之前将旧数据移动到restrictions_deleted表中.这是通过
OLD 数据类型完成的.您可以使用规则INSERT语句,并使用OLD值作为要插入的值.
CREATE TRIGGER moveDeleted BEFORE DELETE ON restrictions FOR EACH ROW EXECUTE PROCEDURE moveDeleted(); CREATE FUNCTION moveDeleted() RETURNS trigger AS $$ BEGIN INSERT INTO restrictions_deleted VALUES(OLD.column1,OLD.column2,...); RETURN OLD; END; $$LANGUAGE plpgsql; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |