1

Postgres初心者からの簡単な問題:

Postgresトランザクションを次のように書くにはどうすればよいですか?

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

これは、myTableで別の挿入が発生したときに発生するWebアプリのバグを解決できることを期待して、SELECT COUNT(*)更新するか挿入するかを決定できるようにするためです。

4

1 に答える 1

3

Postgresqlのドキュメントにこのためのサンプルplpgsql実装があります:merge_dbを参照してください

これは特に、同時更新または挿入(UPSERTと呼ばれることが多い)をサポートすることを目的としています。

于 2012-04-25T22:52:18.757 に答える