Par*_*ana 2 salesforce apex-code
建立:
A - <B> - C. 在A上,B上有一个RFS,然后有一个更新后的触发器,当运行时填充B上的字段.然后将B的一个字段汇总到C上的字段中.
题:
触发器有效,但我需要在数据库中的现有记录上运行它以使所有内容保持最新.我怎么做?我已经尝试在A和C上使用RFS进行"力量重新计算".
您可以编写相当简单的Batch Apex(请参阅docs)作业类来触摸要重新计算的所有记录:
global class TouchRecords implements Database.Batchable<sObject>{
private String query;
global TouchRecords(String query) {
this.query = query;
}
global Database.QueryLocator start(Database.BatchableContext BC){
return Database.getQueryLocator(query);
}
global void execute(Database.BatchableContext BC, List<sObject> scope){
update scope;
}
global void finish(Database.BatchableContext BC){
}
}
Run Code Online (Sandbox Code Playgroud)
然后可以通过运行以下命令来执行作业(例如,通过执行匿名):
Id batchInstanceId = Database.executeBatch(new TouchRecords('select id from A__c'));
Run Code Online (Sandbox Code Playgroud)
要么
Id batchInstanceId = Database.executeBatch(new TouchRecords('select id from Contact'));
Run Code Online (Sandbox Code Playgroud)
触摸所有联系人
这应该触发所有被触摸的记录(支持最多5000万条记录).与提议的数据加载器解决方案相同,但保留在SFDC内以便于重用
归档时间: |
|
查看次数: |
3628 次 |
最近记录: |