【发布时间】:2017-04-22 04:41:13
【问题描述】:
当我尝试执行这个脚本时,我得到一个错误: 错误:关系“旧”不存在。 脚本:
update organization
set row_status = 30;
我发现了一些这样的问题,但他们没有帮助我。 我的触发器:
Create OR REPLACE function PMigrateDataToHistory()
returns trigger as $PMigrateDataToHistory$
begin
insert into organization_history
select
*
from
OLD;
delete
from
organization as org USING
OLD as o
where
o.id = org.id and
o.version = org.version;
insert into organization
select
n.id,
n.created_at,
n.updated_at,
n.row_status,
n.version + 1,
n.resource
from
NEW as n;
end;
$PMigrateDataToHistory$ LANGUAGE plpgsql;
CREATE TRIGGER TRMigrateDataToHistory AFTER update or delete ON organization
FOR EACH ROW EXECUTE PROCEDURE PMigrateDataToHistory();
【问题讨论】:
-
我不明白您为什么要删除删除触发器已删除的行(然后再次重新插入该行)。这似乎很奇怪。
标签: postgresql triggers