我有一个可以附加到其他实体的实体。 我想防止对此进行任何更新,而是可以有新条目。 这样,我可以保持现有链接不变,并添加新条目
有一个状态列(有效/无效) 发出更新时,我只希望将行的状态更新为不活动。 然后将更新的值作为新行插入。 如果可以通过通用的方式完成此操作(该方法适用于所有表),我们将只需要添加调用函数的触发器即可。
类似
create trigger prevent_update_trigger
before update on the_table
for each row execute procedure prevent_update_do_insert();
create or replace function prevent_update_do_insert()
returns trigger as
$$
begin
// Code to update it to INACTIVE
-- Insert the UPDATE row as new row
// Code to INSERT new row
-- do NOT proceed with original UPDATE
return null;
end;
$$
language plpgsql;