2012-04-27 11 views
3

SPI_execを使用して別のテーブルに行を挿入するBEFORE DELETEトリガーがあります。Postgresトリガプロシージャで実行されるクエリは、同じトランザクションで実行されますか?

これらのINSERTクエリは、元の削除が実行されているのと同じトランザクションで実行されますか?したがって、削除とすべての挿入はロールバックまたはコミットされますか?

もしそうでなければ、どうすればいいのですか?

答えて

3

はい、トリガー内のすべてがトリガーイベントと同じトランザクション内にあります。

質問には直接関係しませんが、通常はBEFOREトリガーではなく、AFTERトリガーに副作用を加えたいとします。

+1

ありがとうございます。私は、 'AFTER DELETE'トリガがまだ' OLD'を通して利用可能な削除された行データを持っていると仮定します? –

+1

@romkyns:そうです。 – kgrittn

関連する問題