0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Trigger recursively update

Posted at

エラーメッセージ:
System.DmlException: Update failed.
SELF_REFERENCE_FROM_TRIGGER
cannot recursively update itself

説明:
Apex トリガが SELF_REFERENCE_FROM_TRIGGER エラーを発生させるのはなぜですか?

解決策:
再帰的に更新したり、Apexトリガから同じオブジェクトを削除することはできません。

このエラーは次の様な場合によく発生します。

・Beforeトリガでオブジェクトを更新するか削除しようとします。
・Afterトリガでオブジェクトを削除しようとします。

このエラーは直接操作と非直接操作の両方で発生します。下記に非直接操作の例を挙げます。

1、A リクエストはオブジェクト A のアップデートのために送信されます。
2、オブジェクト A のBefore Updateトリガ はオブジェクト B を作成します。
3、オブジェクト A はUpdateされます。
4、オブジェクト B のAfter Insertトリガはオブジェクト A を問い合わせ、それを更新します。これはオブジェクト A のBeforeトリガであるため、オブジェクト A の非直接更新です。そのため、エラーが発生します。

Link:
https://help.salesforce.com/s/articleView?id=000324391&type=1

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?