我对Database.getQueryLocator()返回的结果感到非常困惑。
global Database.QueryLocator start(Database.BatchableContext BC) {
string query = 'Select Label, Batch_Name__c, SObject_Name__c, External_system__c from Batch_Upload_Config__mdt where Is_Active__c = true';
System.debug(query);
return Database.getQueryLocator(query);
}
在查询编辑器中,我输入了准确的查询并确实获得了正确的数据。但是,在运行批处理时,它不返回“ Is_Active__c = true”的记录,而是返回“ Is_Active__c = false”的记录。
任何指针将不胜感激。
答案 0 :(得分:0)
看起来与自定义元数据类型的查询有关。当我更改为使用自定义对象时,可以使用Database.getQueryLocator()获得正确的结果。