みなさんこんにちは。
salesforceお助け隊の加藤です。
ApexのDMLステートメントには、「upsert」というステートメントが存在します。
「upsert」DMLステートメントは、既存レコードの存在を判定する任意の項目を使用して、
1つのDMLステートメントで、新規レコードの作成と、既存レコードの更新を行います。
要は、対象のオブジェクトに指定した任意の項目で一致するレコードが存在すれば、
更新処理を行ない、存在しなければ新規作成処理を実行します。
例えば、以下のように実装した場合、
「upsert accountObj Name;」
※accountObjは、取引先のsObjectを表す。
accountObjに設定されている取引先名(Name)と一致するレコードが
既に、取引先オブジェクトに存在すれば、accountObjの内容で更新を行ないます。
存在しなければ、レコードの新規作成処理を行ないます。
また、任意の項目を指定しない場合は、自動的にID列が一致するレコードが
存在するかどうかを判定し処理が実行されます。
「セールスフォースお助け隊ブログ」へのコメントやご意見等ありましたら
ファンページまでお願いします。 Facebookのファンページ

