Trigger
Triggers are the set of actions that are called automatically once DML operation is performed on any object.
A Trigger is an Apex code that executes before or after inserting or modifying a record based on the condition provided.
There are different types of triggers based on the action going to be performed. They are Before Triggers and After Triggers. Triggers allow modification of another record of the same type or different type.
Before Trigger: They are fired before any DML operation on an object. They are mainly used for validating records.
After Trigger: They are fired after DML operation on any object. (or) used to access field values that are set by the system
(such as a record's Id or LastModifiedDate field), and to affect changes in other
records. The records that fire the after trigger are
read-only.
DML operation supported by apex trigger:
- Before Insert
- After Insert
- Before Update
- After Update
- Before Delete
- After Delete
- After Undelete
Note: Triggers in salesforce must be bulkified. (means for more than one record.[ use collection])
Context Variable: All triggers define implicit variables that allow developers to access run-time context. These variables are contained in the System.Trigger class.
Following are the context variable available in triggers.
- Trigger.isExecuting
- Trigger.isInsert
- Trigger.isUpdate
- Trigger.isDelete
- Trigger.isBefore
- Trigger.isAfter
- Trigger.isUndelete
- Trigger.new
- Trigger.newMap
- Trigger.old
- Trigger.oldMap
- Trigger.size
- Trigger.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.
- Trigger.isInsert: Returns true if this trigger was fired due to an insert operation.
- Trigger.isUpdate: Returns true if this trigger was fired due to an update operation.
- Trigger.isDelete: Returns true if this trigger was fired due to a delete operation.
- Trigger.isBefore: Returns true if this trigger was fired before any record was saved.
- Trigger.isAfter: Returns true if this trigger was fired after all records were saved.
- Trigger.isUndelete: Returns true if this trigger was fired after a record is recovered from the Recycle Bin (that is after an undelete operation)
- Trigger.new: Returns a list of the new versions of the sObject records. This sObject list is only available in insert, update, and undelete triggers, and the records can only be modified in before triggers.
- Trigger.newMap: A map of IDs to the new versions of the sObject records. This map is only available in before update, after insert, after update, and after undelete triggers.
- Trigger.old: Returns a list of the old versions of the sObject records. This sObject list is only available in update and delete triggers.
- Trigger.oldMap: A map of IDs to the old versions of the sObject records. This map is only available in update and delete triggers.
- Trigger.size: The total number of records in a trigger invocation, both old and new.
Syntax of Trigger:
trigger TriggerName on ObjectName (trigger_events) { code_block }
Continue...
Comments
Post a Comment