Trigger code is stored as metadata under the object with which
they are associated. To define a trigger in
Salesforce:
- From the object management settings for the object whose triggers you want to
access, go to Triggers.
- In the Triggers list, click New.
- Click Version Settings to specify the version of Apex and the API used with this trigger. If your organization has installed managed packages from the AppExchange, you can also
specify which version of each managed package to use with this trigger. Use the
default values for all versions. This associates the trigger with the most recent
version of Apex and the API, as well as each managed
package. You
can specify an older version of a managed package if you want to access
components or functionality that differs from the most recent package
version.
- Click Apex Trigger and select the Is Active checkbox if the
trigger should be compiled and enabled. Leave this checkbox deselected if you only
want to store the code in your organization's metadata. This checkbox is selected by
default.
- In the Body text box, enter the Apex for the trigger. A single
trigger can be up to 1 million characters in
length.
To define a trigger, use the following
syntax:
trigger TriggerName on ObjectName (trigger_events) {
code_block
}
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
- Click Save.
The Apex Trigger Editor
When editing
Visualforce or
Apex, either
in the
Visualforce development mode footer or from Setup, an editor is available with
the following functionality:
- Syntax highlighting
- The editor automatically applies syntax highlighting for keywords
and all functions and operators.
- Search (
)
- Search enables you to search for text within the current page,
class, or trigger. To use search, enter a string in the Search textbox and click Find Next.
- To replace a found search string with another string, enter the
new string in the Replace textbox and click replace to replace just that instance, or Replace All to replace that instance and all other instances
of the search string that occur in the page, class, or trigger.
- To make the search operation case sensitive, select the Match Case option.
- To use a regular expression as your search string, select the Regular Expressions option. The regular expressions follow
JavaScript's regular expression rules. A search using regular expressions
can find strings that wrap over more than one line.
If you use the
replace operation with a string found by a regular expression, the
replace operation can also bind regular expression group variables
($1, $2, and so on) from the found search
string. For example, to replace an <h1> tag with an <h2> tag and
keep all the attributes on the original <h1> intact, search for <h1(\s+)(.*)> and replace it with <h2$1$2>.
- Go to line (
)
- This button allows you to highlight a specified line number. If
the line is not currently visible, the editor scrolls to that line.
- Undo (
) and Redo (
)
- Use undo to reverse an editing action and redo to recreate an
editing action that was undone.
- Font size
- Select a font size from the drop-down list to control the size
of the characters displayed in the editor.
- Line and column position
- The line and column position of the cursor is displayed in the
status bar at the bottom of the editor. This can be used with go to
line (
) to quickly navigate through the editor.
- Line and character count
- The total number of lines and characters is displayed in the status
bar at the bottom of the editor.