一位博士后新手的一个简单问题是:
如何编写Postgres事务

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

我希望它能解决我的web应用程序中的一个bug,当我的表上发生另一个insert时,我可以从中SELECT COUNT(*)来决定是否应该更新或插入。

最佳答案

Postgresql文档中有一个plpgsql实现示例:请参见merge_db
它专门用于支持并发更新或插入(通常称为UPSERT)。

关于postgresql - Postgres事务以使用UPDATE而不是INSERT(如果已经存在一行),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10324781/

10-16 13:25