Recursive Trigger and Ways to avoid Recursive Trigger


    What is a Recursive Trigger:

You want to write a trigger that creates a new record as part of its processing logic; however, that record may then cause another trigger to fire, which in turn causes another to fire, and so on. 
and thus you are into recursive trigger.
This is a simple way to create this error via a trigger on an custom object called TestObject__c.

trigger TestTrigger on TestObject__c (before insert) {
    insert new Test__c();
}
When the above trigger is fired, a TestObject__c object record is created by the user, which causes the trigger to execute again for this record, this keeps repeating so and on until salesforce gives error.

Ways to avoid recursion:

In order to avoid the situation of recursive call, make sure your trigger is getting executed only one time.1) Use static variables to store information that is shared within the confines of the class. All instances of the same class share a single copy of the static variables.
* Please Note: The static variable should be initialized in a class and not a trigger. This is because a static variable will only function as expected when initiated in a class. Do not try and use a static variable for this purpose initialized in a trigger.

Comments

Popular posts from this blog

List of Key Prefixes in Salesforce

SFDX Install CPQ in Scratch org