こんにちは、アンダーソンです。
今回は最近自分自身初めて知った、トリガと積み上げ集計項目の落とし穴について
みていきたいと思います。
Contents
積み上げ集計項目はUpdateされる
見出しの意味がわからないかもしれませんが、
積み上げ集計項目はUpdateされます。
どういうことかというと、主従関係にある従側のレコードに集計項目で使用している
条件に合致する、もしくは合致しなくなった際に積み上げ集計項目が再計算されます。
その際に対象のレコードがUpdateされてしまうので注意しないといけません。
トリガにも影響がある
上記の関係から従レコードのDML操作をした後に、主側の積み上げ項目が変更されると
Updateトリガが動きます。
以前に現場で、従側のレコード更新後になぜか主側のUpdateトリガも動いていたため、
あ、どこかでDML操作してるんだろうな〜と思っていくら探しても見つからず。。。
ただある条件下でしかトリガが動いていないということで気づきました。
トランザクションが同一になるのでガバナ制限に注意しておかないといけないので
頭にいれておきましょう。
コメント