我的Postgresql数据库中有一个称为限制的小(~10行)表,其中值被删除并每天插入.
我想有一个名为restrictions_deleted的表,其中从限制中删除的每一行都将自动存储.由于限制具有序列ID,因此不会重复.
如何在Postgresql中编写这样的触发器?
您只需要在删除之前将旧数据移动到restrictions_deleted表中.这是通过
原文链接:https://www.f2er.com/postgresql/192258.htmlOLD
数据类型完成的.您可以使用规则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;