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?

1 Answer 1

12

Trigger.new can be accessed in insert, update and undelete 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.

1
  • Trigger.new can also be accessed in undelete triggers. Apr 2, 2020 at 14:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .