この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

コンテキスト変数の考慮事項

トリガコンテキスト変数については、次の考慮事項について注意してください。
  • trigger.new および trigger.old を、Apex DML 操作で使用することはできません。
  • trigger.new を使用してオブジェクトの項目値を変更できますが、before トリガでのみ行えます。すべての after トリガで、trigger.new は保存されず、実行時例外が発生します。
  • trigger.old は常に参照のみです。
  • trigger.new を削除することはできません。

次の表は、さまざまなトリガイベントの特定の操作についての考慮事項を示します。

トリガイベント trigger.new を使用した項目の変更 update DML 操作を使用した元のオブジェクトの更新 delete DML 操作を使用した元のオブジェクトの削除
before insert 可。 該当なし。元のオブジェクトが作成されていません。参照できるものがないため、更新できません。 該当なし。元のオブジェクトが作成されていません。参照できるものがないため、更新できません。
after insert 不可。trigger.new がすでに保存されているため、ランタイムエラーが発生します。 可。 可能ですが、必須ではありません。挿入後すぐにオブジェクトが削除されます。
before update 可。 不可。ランタイムエラーが発生します。 不可。ランタイムエラーが発生します。
after update 不可。trigger.new がすでに保存されているため、ランタイムエラーが発生します。 可。不適切なコードにより無限に不適切な操作が反復される可能性があります。ガバナ制限によりエラーが検出されます。 可。オブジェクトが削除される前に更新が保存されるため、オブジェクトが復元された時に更新結果が表示されます。
before delete 不可。ランタイムエラーが発生します。trigger.new は before 削除トリガで使用できません。 可。オブジェクトが削除される前に更新が保存されるため、オブジェクトが復元された時に更新結果が表示されます。 不可。ランタイムエラーが発生します。削除はすでに処理中です。
after delete 不可。ランタイムエラーが発生します。trigger.new は after 削除トリガで使用できません。 該当なし。オブジェクトはすでに削除されています。 該当なし。オブジェクトはすでに削除されています。
after undelete 不可。ランタイムエラーが発生します。 可。 可能ですが、必須ではありません。挿入後すぐにオブジェクトが削除されます。