Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

Apex トリガー内で DML を使用する際の注意点

公開日: Mar 19, 2026
説明

Apex トリガーで DML を使用する際の注意点について説明します。

解決策

Apex トリガー内においてもガバナ制限を考慮しないといけません。

特に以下 (*Apex トリガー例1)のように for loop 内で DML を記述すると DML の発行回数が Trigger.New
オブジェクトに格納されている要素数分実行されてしまいます。

Apex トリガー例1 )
------------------
for( Account ac : Trigger.New ){

   Contact ct = new Contact();
   ct.LastName = ac.Name;
   ct.Description = ac.Name;
   upsert ct;

}
------------------

DML の発行回数を減らすためには、以下のように for loop 内には記述せず、複数レコードの更新処理を
一括で行うことで可能となります。

Apex トリガー例2 )
------------------

List<Contact> cts = new List<Contact>();
for( Account ac : Trigger.New ){
   Contact ct = new Contact();
   ct.LastName = ac.Name;
   cts.add(ct);
}
upsert cts;
------------------
ナレッジ記事番号

000386205

 
読み込み中
Salesforce Help | Article