Newer Version Available

This content describes an older version of this product. View Latest

Trigger Syntax

To define a trigger, use the following syntax:
1trigger triggerName on ObjectName (trigger_events) {
2   code_block
3}
where trigger_events can be a comma-separated list of one or more of the following events:
  • before insert
  • before update
  • before delete
  • after insert
  • after update
  • after delete
  • after undelete
  • You can only use the webService keyword in a trigger when it is in a method defined as asynchronous; that is, when the method is defined with the @future keyword.
  • A trigger invoked by an insert, delete, or update of a recurring event or recurring task results in a runtime error when the trigger is called in bulk from the Force.comAPI.

Note

For example, the following code defines a trigger for the before insert and before update events on the Account object:

1trigger myAccountTrigger on Account (before insert, before update) {
2    // Your code here
3}

The code block of a trigger cannot contain the static keyword. Triggers can only contain keywords applicable to an inner class. In addition, you do not have to manually commit any database changes made by a trigger. If your Apex trigger completes successfully, any database changes are automatically committed. If your Apex trigger does not complete successfully, any changes made to the database are rolled back.