Apex トリガTriggerの使い方のサンプル
環境
Salesforce
書式
trigger TriggerName on ObjectName (trigger_events) { if (Trigger.isInsert) { if (Trigger.isBefore) { // Before Insert 処理コード } else if (Trigger.isAfter) { // After Insert 処理コード } 略 }
Apex トリガを使用すると、Salesforce のレコードに対するイベント (挿入、更新、削除) の前または後にカスタムアクションを実行できます。
trigger_events指定できるのは次のイベントです。
before insert before update before delete after insert after update after delete after undelete
使用例
trigger EmployeeTrigger on Employee__c (before insert, before update, before delete, after insert, after update, after delete, after undelete) { if (Trigger.isInsert) { if (Trigger.isBefore) { // Before Insert 処理 } else if (Trigger.isAfter) { // After Insert 処理 } xxx }
トリガと実行の順序
1.古いレコードをデータベースからロード(または、upsert 用レコード初期化) 2.新しいレコードの値で古い値を上書き 3.システムの入力規則 4.すべての before トリガ 5.システムの入力規則 + カスタム入力規則 6.重複ルール 7.レコード保存(コミットされていない) 8.レコード再ロード 9.すべての after トリガ 10.割り当てルール 11.自動応答ルール 12.ワークフロールール 13.ワークフロー項目自動更新が存在する場合、レコードが再度更新されます。 14.ワークフロー項目自動更新でレコードが更新された場合、標準の入力規則に加えて、before update トリガおよび after update トリガがもう一度 (さらに 1 回のみ) 実行されます。 カスタム入力規則、重複ルール、およびエスカレーションルールは再実行されません。 15.プロセス 16.エスカレーションルール 17.積み上げ集計数式の値の更新 18.条件に基づく共有の評価 19.データベースのコミット 20.コミット後のロジック(メールの送信)