私はON INSERT
PostgreSQL 9.2 にトリガーを持っています。これは何らかの計算を行い、挿入されるすべての行に余分なデータを挿入します。INSERT
問題は、2 つのトランザクションを並行して発生させたくないということです。私の計算はインクリメンタルで、以前の計算結果を考慮に入れる必要があるため、それらを 1 つずつ実行する必要があります。どういうわけかこれを達成することは可能ですか?
支払いのリストでローリングバランスを作成しようとしています:
id | amount | balance
----------------------
1 | 50 | 50
2 | 130 | 180
3 | -75 | 105
4 | 15 | 120
は、以前の残高と新しい支払いを足してbalance
計算する必要があります。s が並行して発生した場合、列に重複がありますが、これは論理的です。それらを厳密な順序で実行する方法を見つける必要があります。INSERT
amount
INSERT
balance