批处理,往自己的邮箱发一封邮件,批处理采用异步的处理方式处理数据,最多可以处理5000万条数据
global with sharing class MerchandiseBatch implements Database.Batchable<sObject>,Database.Stateful{
Integer queryCount = 0;
String myEmailAddress = 'weizhen.zhao@pactera.com';
global Database.QueryLocator start(database.BatchableContext bc){
String query = 'select Name from Merchandise__c';
return Database.getQueryLocator(query);
}
global void execute (Database.BatchableContext bc,List<Merchandise__c> merchandiseList){
for(Merchandise__c merchandise : merchandiseList){
Decimal price = merchandise.Price__c;
price += 1;
queryCount +=1;
}
upsert merchandiseList;
}
global void finish(Database.BatchableContext bc){
System.debug('query count: '+ queryCount);
Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage();
email.setToAddresses(new String[]{myEmailAddress});
email.setSubject('show count');//set subject
email.setHtmlBody('query Count' + queryCount);
Messaging.sendEmail(new Messaging.SingleEmailMessage[]{email});
}
}
MerchandiseBatch merchandise = new MerchandiseBatch();
Id batchId = Database.executeBatch(merchandise);
