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

Newer Version Available

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

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

トリガコンテキスト変数については、次の考慮事項について注意してください。
  • 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 不可。ランタイムエラーが発生します。trigger.old は after 復元トリガで使用できません。 可。 可能ですが、必須ではありません。挿入後すぐにオブジェクトが削除されます。