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?

SalesforceのUpsertの考え方と説明

Posted at

本橋孝昭です

今回はSalesforceのUpsertの方法について解説をします

Upsert(アップサート)とは?

Upsetとは、「一致するレコードがあれば更新、なければ新規作成」するデータ操作のことです。
外部IDを使うことで、SalesforceのIDを知らなくても、外部システムのIDをキーとしてアップサートが可能になります。

例:

外部システム側に「l顧客番号」という項目があり、それをSalesforceの「外部ID」として登録している場合。

アップサート時に「顧客番号」が既に存在すれば更新、存在しなければ新規登録されます。

添付画像の設定の場合顧客番号「X001」と「X002」は外部データ、Salesforceデータともに存在するため、データの更新がかかります

image.png

Upsertの動作イメージ

Upsertでは、次のような順序で処理が行われます。

  1. 指定した外部ID項目の値と一致するレコードを検索
  2. 一致するレコードがあれば → 更新(Update)
  3. 一致しない場合 → 新規作成(Insert)

このため、同じCSVファイルで「更新と新規作成」を同時に行うことが可能です。

外部IDとは

Salesforce外のシステム(例:基幹システム、ERP、CSVファイルなど)で管理しているデータのキー項目を、Salesforce上でも一意に識別するための項目です。

「外部ID」として設定すると、その項目をキーにしてレコードを特定できるようになるのでUpsertが可能になります。

Upsertの特徴

UpsertはUpdateと大きく異なる部分は「SalesforceIDが無くても更新」が可能なことです。UpdateはSalesforce IDによる更新をしないといけません。
しかし、事前にSalesforceに外部ID項目が設定されている場合、その外部IDの項目値の一致により更新が可能になります。

よくあるエラーと対策

外部ID項目に重複重複がある場合エラーが発生します
そのため事前に外部ID項目をユニークにしておくと重複が防げるので安全です

image.png

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?