こんにちは、管理人の@Salesforce.Zです。
【salesforce】System.LimitExceptionが出てしまった!
制限に接触したでしょう
今回、これを回避すべきのところについて共有します。
目次
回避すべきところとその他回避
回避すべき
ループ内にDMLステートメントを記述しないことがまずチェックでしょう
これが基本的にしてはいけないこと
//200回のDMLステートメントを使っているダメなパターン for(Integer i = 0; i < 200; i++){ Account account = new Account(); account.name='気合'; insert account;//DMLステートメント }
せめてやるべきこと、上記の例を改善 要はできるだけまとめて一気にDMLステートメンを消費すること
List<Account> accList = new List<Account>(); for(Integer i = 0; i < 200; i++){ Account account = new Account(); account.name='気合'; accList.add(account); } insert accList;////DMLステートメント
その他回避
ループ内でDMLステートメンを使っていないのに
エラー出る場合は
一連のトランザクションを確認するべき
連鎖的に起こっているかも
最後に
1トランザクションの全体像を把握するのがベストでしょう
こうすることによって、制限に接触しないようにかなり防げる