Salesforce Apexトリガー レコードセットに対する処理サンプル

環境
Salesforce

使用例1
次のトリガー (TestTriggerNotBulk) は、1 つのレコードのみによって
トリガーが実行されたことを想定しています。同一のトランザクションで複数の
レコードが挿入された場合、このトリガーはレコードセット全体に対して実行されません。
次の例は、一括処理化されたバージョンを示します。

trigger TestTriggerNotBulk on Account(before insert){
  Account acc = Trigger.new[0];
  acc.Description = 'New Description';
}

使用例2
次の例 (TestTriggerBulk) は、MyTriggerNotBulk を変更した
バージョンです。この場合は、for ループを使用して利用可能なすべての
sObject に反復処理を行います。このループは、Trigger.new に
1 つの sObject または複数の sObject がある場合に機能します。

trigger TestTriggerBulk on Account(before insert) {
   for(Account acc : Trigger.new){
     acc.Description = 'test new description';
   }
}

 

IT

Posted by arkgame