SFDCの開発では、
データを更新したい場合に
大体、対象レコードのIDを使い、クエリするでしょう
そこで、クエリの消費になり、ガバナー制限のカウントにも
なるわけ
今回、クエリを使用しないまま、データを更新方法を
共有したいと思います。
欲しけりゃくれてやる・・・。
探せ!
この世の全てをそこに置いてきた〜笑
目次
クエリ不要、データ更新
従来のサンプルコード
String targerRcdId = '対象レコードID';
// クエリ 1カウント
Account acc = [Select Id, Name, AnnualRevenue From Account Where Id = :targerRcdId];
acc.AnnualRevenue = 2000;
update acc;
クエリ消費しないサンプルコード
String targerRcdId = '対象レコードID';
Account acc = new Account();
acc.Id = targerRcdId;
acc.AnnualRevenue = 2000;
update acc;
説明
上記のように新規オブジェクトのインスタンス
そこで、更新対象IDをインスタンスした変数のIDに設定して
さらに更新したい項目に値を設定し、
updateをかければ、更新可能、
対したことではない、バッチの場合に
対象IDを受け取って、使えるではないかと思います。
注意点:このやり方はafterトリガでは使用できません。当たり前ですが、一回IDでレコードをクエリしない、その間にレコードが更新される可能性があり、仕様上では、基本許されません!