Apex 一括処理バッチDatabase.Batchableを使用するサンプル

環境
Salesforce Apex

概要
execute() では、start() でクエリしてきたデータに対しての処理を記述します。
start() では、処理したいデータをクエリして返すようにします。
finish() では、全てのデータに対して処理が終わったあと実行される処理を記述します

使用例

public class SampleBatch implements Database.Batchable<sObject> {
    /* Database.QueryLocator を使う場合 */
    public Database.QueryLocator start(Database.BatchableContext db) {
        // レコードをクエリする
        return Database.getQueryLocator(
            'SELECT ID FROM Account'
        );
    }

    public void execute(Database.BatchableContext bc, List<P> records){
        // レコードに対する処理コード
    }
    public void finish(Database.BatchableContext bc){
        // バッチ終了時の処理コード
    }
}

 

IT

Posted by arkgame