Salesforce中的顶点中的串联变量



在Salesforce批处理类中,我正在尝试做类似的事情,但是它给了我错误

global class PurgerefundcasesBatch implements Database.Batchable<sObject> {
    private static final String refund = 'refund';
    String query = String query = 'SELECT id, SubStatus__c FROM Case ' + 
                        'WHERE SubStatus__c ='+ refund +' AND createdDate < LAST_N_DAYS:10';
    global PurgerefundcasesBatch() {
    }
    .......
    .........
}

获取以下错误..

Timestamp: Tue, 13 Feb 2018 21:59:17
   Result: [OPERATION FAILED]: classes/PurgeDraftcasesBatch.cls: Missing ';' at 'query' (Line: 12, Column: 24)
classes/PurgeDraftcasesBatch.cls: Unexpected token '='. (Line: 12, Column: 30)
classes/PurgeDraftcasesBatch.cls: Unexpected token '='. (Line: 12, Column: 30)
classes/PurgeDraftcasesBatch.cls: Unexpected token '+'. (Line: 13, Column: 41)
classes/PurgeDraftcasesBatch.cls: Unexpected token '+'. (Line: 13, Column: 41)
classes/PurgeDraftcasesBatch.cls: Variable does not exist: String (Line: 12, Column: 17)
classes/PurgeDraftcasesBatch.cls: Invalid loop variable type expected SObject was Case (Line: 26, Column: 4)`

主要ISSIUE是您以错误的方式设置查询变量。您不能像:

那样定义它
String query = String query =
String query = 'SELECT id, ELC_SubStatus__c FROM Case WHERE SubStatus__c ='+ refund +' AND createdDate < LAST_N_DAYS:10';

我能够像下面这样做。有关动态查询注意事项,请参考动态SOQL

private static final String refund = 'refund';
String query = 'SELECT id, SubStatus__c FROM Case ' + 
                'WHERE SubStatus__c = :refund AND createdDate < LAST_N_DAYS:10';

最新更新