Salesforceで大量のデータをいっきに更新するお手軽な方法

Salesforceで大量のデータをいっきに更新したり、条件に合う特定のデータの値を書き換えたいときに使えるTipsです。

大量データの更新を何度もやる場合は、以前書いた「ガバナ制限を回避した大量データの一括更新にも便利 Batch Apexの使い方」のようにApexバッチ化しておくと便利ですが、1回しかやらない場合や、気軽にさくっと更新したい場合は、こちらの方法が便利だと思います。

開発者コンソールを開く

やり方は、まず、開発者コンソールを開いて、Debug->Open Execute Anonymous Window を開きます。

一括更新のコードをAnonymous Windowに入力

Anonymous Window を開いたら、下記のようなコードを入力し、右下の「Execute」ボタンを押しましょう。

String query = 'select id from Contact where LastName = \'SEI\'';
List<Contact> contacts= Database.query(query);
for (Contact cont : contacts) {
    cont.FirstName = 'mei01';
	System.debug('★★★cont : ' + cont.Id + ','+ cont);
}
update contacts;

解説

少し解説すると、はじめに更新対象のレコードをクエリで抽出します。

その後、その抽出したリストの項目を書き換えて、updateメソッドを発行するだけです。

リストに入っているオブジェクトをまとめて更新するので、結構パフォーマンスも早いですよ~。