标签: postgresql stored-procedures transactions postgresql-9.1
Postgres新手的一个简单问题:
如何编写类似
IF SELECT COUNT(*) FROM myTable WHERE myPK = myValue > 0 THEN UPDATE myTable ... ELSE INSERT INTO myTable... END
我希望这可以解决我的网络应用程序中的错误,当我能够从SELECT COUNT(*)来确定是否应该更新或插入时,myTable上发生了另一次插入。
SELECT COUNT(*)
答案 0 :(得分:3)
在Postgresql的文档中有一个示例plpgsql实现:请参阅merge_db
它专门用于支持并发更新或插入(通常称为UPSERT)。