3

What are the events where we can use Trigger.old and what are the events where we can use Trigger.new?

For example, can Trigger.new can be accessed in before insert, before update, before delete, after insert, after update, after delete events or not?

9

Trigger.new can be accessed in insert and update triggers, and the records can only be modified in before triggers.

Trigger.old can be accessed in update and delete triggers.


Here all the full details of all of the Trigger Context Variables taken from the Trigger Context Variables documentation.

All triggers define implicit variables that allow developers to access run-time context. These variables are contained in the System.Trigger class.

isExecuting
Returns true if the current context for the Apex code is a trigger, not a Visualforce page, a Web service, or an executeanonymous() API call.

isInsert
Returns true if this trigger was fired due to an insert operation, from the Salesforce user interface, Apex, or the API.

isUpdate
Returns true if this trigger was fired due to an update operation, from the Salesforce user interface, Apex, or the API.

isDelete
Returns true if this trigger was fired due to a delete operation, from the Salesforce user interface, Apex, or the API.

isBefore
Returns true if this trigger was fired before any record was saved.

isAfter
Returns true if this trigger was fired after all records were saved.

isUndelete
Returns true if this trigger was fired after a record is recovered from the Recycle Bin (that is, after an undelete operation from the Salesforce user interface, Apex, or the API.)

new
Returns a list of the new versions of the sObject records. Note that this sObject list is only available in insert and update triggers, and the records can only be modified in before triggers.

newMap
A map of IDs to the new versions of the sObject records. Note that this map is only available in before update, after insert, and after update triggers.

old
Returns a list of the old versions of the sObject records. Note that this sObject list is only available in update and delete triggers.

oldMap
A map of IDs to the old versions of the sObject records. Note that this map is only available in update and delete triggers.

size
The total number of records in a trigger invocation, both old and new.

2

You can find information about all trigger context variables in below link, https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_triggers_context_variables.htm

1
Trigger Event   Trigger.New Trigger.Old
Before Insert   Yes         No
Before Update   Yes         Yes
Before Delete   No          Yes
Before UnDelete No          Yes
After Insert    Yes         No
After Update    Yes         Yes
After Delete    No          Yes

http://www.salesforcetutorial.com/apex-trigger-in-salesforce/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.