You need to sign in to do that
Don't have an account?

How to bulkify a simple trigger with an SQL query?
Hello, I'm quite new to the bulkifying idea and need to bulkify the following sinmple trigger, which just updates a field on a parent object:
trigger Approval_Actions on Approval__c (after update) { List<Approval__c> app = trigger.new; Opportunity opp = [select Approval_Date__c from Opportunity where Id =: app[0].Opportunity__c LIMIT 1]; if(app[0].Status__c == 'Approval GRANTED'){ opp.Approval_Date__c = date.today(); } update opp; }
The problem is: how to bulkify it without having an SQL query in a loop?
trigger Approval_Actions on Approval__c (after update) {
List<opportunity> opps = new List<opportunity>();
for(Approval__c a : trigger.new){
if(a.status__c == 'Approval GRANTED')
opps.add(new opportunity(id=a.opportunity__c,Approval_Date__c=date.today()));
}
if(opps.size()>0)
update opps;
}
All Answers
trigger Approval_Actions on Approval__c (after update) {
List<opportunity> opps = new List<opportunity>();
for(Approval__c a : trigger.new){
if(a.status__c == 'Approval GRANTED')
opps.add(new opportunity(id=a.opportunity__c,Approval_Date__c=date.today()));
}
if(opps.size()>0)
update opps;
}