Совокупный запрос не поддерживает queryMore(), используйте LIMIT, чтобы ограничить результаты одним пакетом Ошибка

Я использую SOQL, как показано ниже.

select COUNT(Transaction_Type_Id__c) tt, Id__c from Analysis_set_header__c group by Id__c

Объект имеет всего 42 записи. Но я получаю сообщение об ошибке, например

Совокупный запрос не поддерживает queryMore(), используйте LIMIT, чтобы ограничить результаты одним пакетом.

Вот мой пакетный класс

global class AnalysisSetWsCodeBatchClass implements Database.Batchable<sObject>,   Database.AllowsCallouts {

    public String query = 'select COUNT(Transaction_Type_Id__c) tt, Id__c from Analysis_set_header__c group by Id__c';
    global Database.QueryLocator start(Database.BatchableContext BC) {
        return Database.getQueryLocator(query);
    }

    global void execute(Database.BatchableContext BC, AggregateResult[] groupedResults) { 
        set<String> setAh = new set<String>();

        for (AggregateResult ar : groupedResults)  {
            System.debug('--------header---' + ar.get('Id__c'));
            setAh.add((string) ar.get('Id__c'));
        }
        system.debug('----------------setAh----------------------'+setAh);
        if(!setAh.isEmpty()){
            AnalysisSetCodeWsUpdate aw = new AnalysisSetCodeWsUpdate();
            aw.updateAnalysisSetCode(setAh);
        }
    }

    global void finish(Database.BatchableContext BC){
       //you can also do some after-the-job-finishes work here  
    }

}

person user989184    schedule 16.09.2014    source источник


Ответы (1)


сколько записей у вас есть, когда вы запрашиваете SELECT ID FROM Analysis_set_header__c? Больше 43? Я предлагаю изменить строку SOQL на следующую: SELECT COUNT_DISTINCT(Transaction_Type_Id__c) tt, Id__c из Analysis_set_header__c в порядке COUNT_DISTINCT(Id__c)

person Peter Noges    schedule 01.10.2014