Apex 一括SOQLで商談を処理する方法
環境
Salesforce
構文
List リスト変数名 = [SELECT Id,Name FROM opportunity WHERE Id IN :Trrigge.New]
SOQLには実行数制限があるため、少ない回数で効率的にクエリを実行する必要があります。
forループの中にSOQLを書くと何度もクエリが実行されてしまうため、
ループ外にSOQLを実装します。
操作例
取引先トリガで関連商談レコードを処理します
サンプルコード
Trigger AccountTrigger on Account(before insert) { // SOQL実行 List<Account> oppList = [SELECT Id,Name,(SELECT Id,Name FROM Opportunities) FROM Account WHERE Id IN :Trigger.New]); // トリガ処理 for(Account acc : oppList) { if(!acc.Opportunities.isEmpty()) { for(Opporutnity opp : acc.Opportunities) { 処理コード } } } }