You need to sign in to do that
Don't have an account?
Japan
トリガー起動について
トリガーで入力チェック処理を実装して、CSVでの大量データ更新時に
入力チェックをさせようと思っております。
#DBの「入力規則」では実現できないチェックを想定しています。
しかし、トリガーは、レコードの数分起動されるのではなく
ある程度、まとまったデータ単位で起動されると聞いています。
例えば、100件のデータをインポートする場合は、1回しかトリガーが起動されない。
これだと、トリガーのSOQLのガバナー制約(20回)に引っ掛かり、使い物になりません。
1件のデータにつき、1回トリガーが起動される
つまり、トリガーが受け取るデータは常に1件にするような制御方法はないでしょうか?
100件データがあった場合は、100回トリガーが起動されるイメージ。
また、上記の手法を実現する場合にトリガー以外で実装できる方法をご存じの方がいたら
ご教授いただけないでしょうか?
よろしくお願いいたします。
ikou さん
ご回答ありがとうございます。
教えて頂いた方法でなんとか実現出来そうです。
ここのサイトの開発は、情報が少なすぎで開発に苦労していたので助かります。
本当にありがとうございました。
All Answers
Triggerを必ず「1レコード単位で起動」とする方法は知りませんが、インポート時にバッチサイズを1にすることで
ご希望のことができると思います。
データローダーであればメニューのsettingsの中に「batch size」の項目があったはずです。
デフォルトは200になっているので、そこを1にしてください。
ただ、当然のことながら負荷がかかり処理が遅くなるとは思います。
ikou さん
ご回答ありがとうございます。
教えて頂いた方法でなんとか実現出来そうです。
ここのサイトの開発は、情報が少なすぎで開発に苦労していたので助かります。
本当にありがとうございました。
まぁ、Trigger側でガバナーの制限にかからないよう設計するのが一番なんですけどね。