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メソッドを発行するだけです。
リストに入っているオブジェクトをまとめて更新するので、結構パフォーマンスも早いですよ~。