Salesforce Id を照合して、200 を超える取引先エンティティの説明を更新しようとしています。次のトリガーを使用しています。
Trigger MyNew_tr_U on Account (after update) {
set<ID> ids = Trigger.newMap.keyset();
for(ID id : ids)
{
newChangeTable__c ch = new newChangeTable__c();
ch.Status__c = 'update';
ch.Url__c = id;
ch.Process__c = false;
insert ch;
}
}
しかし、csvファイルのデータインポートを行うと、次のエラーが発生します:
CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY:MyNew_tr_U: execution of AfterUpdate
caused by: System.DmlException: Insert failed. First exception on row 0; first error:
STORAGE_LIMIT_EXCEEDED, storage limit exceeded: []
トリガーを機能させるにはどうすればよいですか?
以下の@eyescreamの回答に続きます。名前のようにフィルターがない場合、同じエラーが発生します。
アカウントで MyNew_tr_U をトリガーする (更新後) { List<newChangeTable__c> toInsert = new List<newChangeTable__c>();
for(Account a : trigger.new){
Account old = trigger.oldMap.get(a.Id);
toInsert.add(new newChangeTable__c(
Status__c = 'update',
Url__c = a.Id,
Process__c = false
));
}
insert toInsert;
}