1

来自 Postgres 新手的一个简单问题:

我如何编写类似的 Postgres 事务

IF SELECT COUNT(*) FROM myTable WHERE myPK = myValue > 0 THEN
UPDATE myTable ...
ELSE
INSERT INTO myTable...
END

我希望它可以解决我的网络应用程序中的一个错误,该错误发生在 myTable 上发生另一个插入时,我能够SELECT COUNT(*)从中决定是否应该更新或插入。

4

1 回答 1

3

在 Postgresql 的文档中有一个示例 plpgsql 实现:参见merge_db

它专门用于支持并发更新或插入(通常称为 UPSERT)。

于 2012-04-25T22:52:18.757 回答