小编aro*_*rod的帖子

postgresql:从视图中删除

在 Postgresql 9.4 中,我们将视图作为表 A 和 B 的联合进行处理,并且当我们“删除”底层表中的记录时(通过 aa 触发器上的看法)。

这里有更详细的信息。我们的观点看起来像,

A
--
id, name
1, afoo
2, abar

B
--
id, name
3, bfoo
4, bbar
Run Code Online (Sandbox Code Playgroud)

所以我们的视图 C 看起来像

C
--
1, afoo
2, abar
3, bfoo
4, bbar
Run Code Online (Sandbox Code Playgroud)

我们做了一个CREATE TRIGGER delete_trigger INSTEAD OF DELETE C FOR EACH ROW DO delete_trigger(),它通过 id 删除行,这基本上就像

-- our function trigger():
$$
delete from A where id=old.id;
GET DIAGNOSTICS deletedA = ROW_COUNT;

delete from B where id=old.id;
GET DIAGNOSTICS deletedB = …
Run Code Online (Sandbox Code Playgroud)

postgresql trigger view postgresql-9.4

5
推荐指数
1
解决办法
2351
查看次数

标签 统计

postgresql ×1

postgresql-9.4 ×1

trigger ×1

view ×1