3
SPI_exec
を使用して別のテーブルに行を挿入するBEFORE DELETE
トリガーがあります。Postgresトリガプロシージャで実行されるクエリは、同じトランザクションで実行されますか?
これらのINSERT
クエリは、元の削除が実行されているのと同じトランザクションで実行されますか?したがって、削除とすべての挿入はロールバックまたはコミットされますか?
もしそうでなければ、どうすればいいのですか?
SPI_exec
を使用して別のテーブルに行を挿入するBEFORE DELETE
トリガーがあります。Postgresトリガプロシージャで実行されるクエリは、同じトランザクションで実行されますか?
これらのINSERT
クエリは、元の削除が実行されているのと同じトランザクションで実行されますか?したがって、削除とすべての挿入はロールバックまたはコミットされますか?
もしそうでなければ、どうすればいいのですか?
はい、トリガー内のすべてがトリガーイベントと同じトランザクション内にあります。
質問には直接関係しませんが、通常はBEFORE
トリガーではなく、AFTER
トリガーに副作用を加えたいとします。
ありがとうございます。私は、 'AFTER DELETE'トリガがまだ' OLD'を通して利用可能な削除された行データを持っていると仮定します? –
@romkyns:そうです。 – kgrittn