サーチ…


不均一化

Salesforceで行ごとの処理を行う場合は、ガバナーの上限にすばやく到達することになります。これは、トリガーや、それらを期待していないときに起動するものに特に当てはまります。ガバナー・リミットをエスケープする方法として文書化されているものは、一括化です。

注:以下の情報は、Salesforceの公式ドキュメントに基づいています。

Apexコードの一括化は、一度に複数のレコードをコードが適切に処理することを保証することを意味します。レコードのバッチがApexを開始すると、そのApexコードの単一インスタンスが実行されますが、そのインスタンスはそのバッチ内のすべてのレコードを処理する必要があります。

不足していない:

trigger accountTestTrggr on Account (before insert, before update) 
{

   //This only handles the first record in the Trigger.new collection
   //But if more than 1 Account initiated this trigger, those additional records
   //will not be processed
   Account acct = Trigger.new[0];
   List<Contact> contacts = [select id, salutation, firstname, lastname, email 
              from Contact where accountId =&nbsp;:acct.Id];
   
}

一括化:

trigger accountTestTrggr on Account (before insert, before update) 
{
    List<String> accountNames = new List<String>{};
   //Loop through all records in the Trigger.new collection
   for(Account a: Trigger.new){
      //Concatenate the Name and billingState into the Description field
      a.Description = a.Name + ':' + a.BillingState
   }
}


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow