Newer Version Available
Trigger クラス
トリガの種類、トリガの操作対象となる sObject レコードのリストなど、トリガのランタイムコンテキスト情報にアクセスするには、Trigger クラスを使用します。
名前空間
トリガコンテキスト変数
Trigger クラスは次のコンテキスト変数を提供します。
| 変数 | 使用方法 |
|---|---|
| isExecuting | Apex コードの現在のコンテキストが Visualforce ページ、Web サービス、または executeanonymous() API コールではなく、トリガである場合、true を返します。 |
| isInsert | 挿入操作により、Salesforce ユーザインターフェース、Apex、または API からこのトリガが実行された場合に、true を返します。 |
| isUpdate | 更新操作により、Salesforce ユーザインターフェース、Apex、または API からこのトリガが実行された場合に、true を返します。 |
| isDelete | 削除操作により、Salesforce ユーザインターフェース、Apex、または API からこのトリガが実行された場合に、true を返します。 |
| isBefore | レコードが保存される前にこのトリガが実行された場合に、true を返します。 |
| isAfter | すべてのレコードが保存された後にこのトリガが実行された場合に、true を返します。 |
| isUndelete | レコードがごみ箱から復元された後 (Salesforce ユーザインターフェース、Apex、または API からの復元操作の後) にこのトリガが実行された場合に、true を返します。 |
| new | 新しいバージョンの sObject レコードのリストを返します。 この sObject リストは insert トリガと update トリガでのみ使用でき、レコードは before トリガでのみ更新できます。 |
| newMap | 新しいバージョンの sObject レコードへの ID の対応付けです。 この対応付けは before update トリガ、after insert トリガ、after update トリガでのみ使用できます。 |
| old | 古いバージョンの sObject レコードのリストを返します。 この sObject リストは update トリガと delete トリガでのみ使用できます。 |
| oldMap | 古いバージョンの sObject レコードへの ID の対応付けです。 この対応付けは update トリガと delete トリガでのみ使用できます。 |
| size | 古いバージョンと新しいバージョンの両方を含む、トリガ呼び出しのレコードの合計数。 |
例
たとえば、この単純なトリガの場合、Trigger.new は sObject のリストで、for ループで繰り返し実行でき、SOQL クエリの IN 句でバインド変数として使用できます。
このトリガでは、Trigger.isBefore や Trigger.isDelete のような Boolean コンテキスト変数を使用して、特定のトリガ条件でのみ実行するコードを定義します。