【发布时间】:2017-09-22 14:27:11
【问题描述】:
我正在尝试查询与商机具有主详细信息查找关系的自定义对象。当我动态构建查询时,我收到 SOQL 错误:
System.QueryException:意外令牌:'A000000VmhPyIAJ'
ID 的前三个字符已在该异常中被删除,完整 ID 为:
006A000000VmhPyIAJ
如果我使用 System.debug 转储查询字符串,我会得到这个(带有完整 ID):
SELECT id、isdeleted、name、createddate、createdbyid、lastmodifieddate、lastmodifiedbyid、systemmodstamp、lastactivitydate、opportunity__c、issue__c、description__c、... FROM Exceptions__c WHERE Opportunity__c = 006A000000VmhPyIAJ
如果我将这个完全相同的字符串传递给 database.query(),我会得到预期的结果。
有人知道是什么原因造成的吗?生成该查询的代码是我在自定义 Apex 中用于数百个其他查询的库,这些查询都没有失败。
实际查询块:
try {
String query = 'SELECT id, isdeleted, name, createddate, createdbyid, lastmodifieddate, lastmodifiedbyid, systemmodstamp, lastactivitydate, opportunity__c, issue__c, description__c, ... FROM Exceptions__c WHERE Opportunity__c = 006A000000VmhPyIAJ';
exceptions = database.query( query );
} 捕捉(DmlException e){
System.debug('DmlException: ' + e);
}
【问题讨论】:
标签: salesforce apex soql