This trigger prevents deletion of an Account if it has any related Opportunities, ensuring no critical relationships are accidentally removed.
Practice similar use cases with this YouTube playlist.
Solution:
trigger AccountTrigger on Account (before delete) {
if(Trigger.isDelete){ if(Trigger.isBefore){
AccountTriggerHandler.preventDelIfHasRelatedOpp(Trigger.old);
}
}
}
public class AccountTriggerHandler{
public static void preventDelIfHasRelatedOpp(List<Account> accList){ Set<Id>
idSet= new Set<Id>();
for(Account acc:accList){ idSet.add(acc.Id);
}
for(Account acc:[SELECT Id,(SELECT Id FROM Opportunities)FROM
Account WHERE Id IN:idSet]){ if(acc.Opportunities.size( ) > 0){ acc.addError(‘You can
not delete account where opportunities are available ‘); }
}
}
}