【发布时间】:2021-09-07 15:24:27
【问题描述】:
我正在尝试使用少量参数进行动态 soql 查询,但无法正确执行
string knowledgeQuery = '';
string publishStatusOnline = 'Online';
// At the moment 'Knowledge__kav' only supports two languages 'is-is' and 'en-us'
if(language == 'is-is'){
language = 'is';
knowledgeQuery = 'SELECT Id, Customer_Facing_Instruction__c FROM Knowledge__kav WHERE UrlName = :name AND PublishStatus = :publishStatusOnline AND language = :language ORDER BY VersionNumber DESC LIMIT 1';
} else {
knowledgeQuery = 'SELECT Id, Customer_Facing_Instruction__c FROM Knowledge__kav WHERE UrlName = :name AND PublishStatus = :publishStatusOnline ORDER BY VersionNumber DESC LIMIT 1';
}
System.debug(knowledgeQuery);
Knowledge__kav article = Database.query(knowledgeQuery);
return article;
Tke KnowledgeQuery 字符串看起来像这样SELECT Id, Customer_Facing_Instruction__c FROM Knowledge__kav WHERE UrlName = :name AND PublishStatus = :publishStatusOnline ORDER BY VersionNumber DESC LIMIT 1
【问题讨论】:
-
结果如何? 0 行?抛出异常?不用投吗?
Knowledge__kav article = ((List<Knowledge__kav>) Database.query(knowledgeQuery))[0];
标签: salesforce apex soql