You need to sign in to do that
Don't have an account?
force_dev1
MIXED_DML_OPERATIONエラーについて
標題の件について質問がございます。
Apex Data Loader 23.0 を使ってCSVファイルからUserへ複数件登録。
その後、User登録時に起動するトリガーが別のカスタムオブジェクトを登録、という
処理を実装し、実際に試してみたところ
・System.DmlException: Insert failed. First exception on row 0; first error: MIXED_DML_OPERATION,
非設定オブジェクトを更新した後の設定オブジェクト上の DML 操作 (またはその逆) は、許可されていません:
(登録しようとしたカスタムオブジェクト名)、元のオブジェクト: User: []
となってしまいました。
原因も対策も分からない状態です。
上記の件について何かご存知の方はいらっしゃるでしょうか?
よろしくお願い致します。
Apexでは1処理内で設定オブジェクト(たしかロールとか?)と非設定オブジェクト(通常のオブジェクト)への
DML操作が禁止されています。
例えば設定オブジェクトをInsertした後に非設定オブジェクトをUpdateしたりすると、
この例外が発生します。
混ぜるとダメということですね。
何が設定オブジェクトに含まれるかは記憶が曖昧なので、詳しくはApexのリファレンスを参照してください。
ikou様
おかげで設定、非設定オブジェクトについて分かりました。
SalesForceのDB操作は難しいですね。
ご回答本当にありがとうございました。