Pagination Salesforce API查询的SOQL分页
有没有一种有效的方法可以分页浏览SOQL查询的结果,而不必返回所有查询结果,然后丢弃大部分查询结果Pagination Salesforce API查询的SOQL分页,pagination,salesforce,soql,Pagination,Salesforce,Soql,有没有一种有效的方法可以分页浏览SOQL查询的结果,而不必返回所有查询结果,然后丢弃大部分查询结果 例如,我希望能够一次翻阅显示10条记录的完整联系人列表。我不需要按任何特定字段排序。您可以使用自动编号字段在服务器端进行分页。此字段可以在“order by”子句之后使用,它可以用作索引字段 我做过像你这样的分页。但我还有一个问题,我不能同时在服务器端进行排序。因为排序和分页都需要在“ORDERBY”子句之后添加列 目前,我发现通过合作伙伴API处理任何SOQL查询的最有效的解决方案是,在请求当前
例如,我希望能够一次翻阅显示10条记录的完整联系人列表。我不需要按任何特定字段排序。您可以使用自动编号字段在服务器端进行分页。此字段可以在“order by”子句之后使用,它可以用作索引字段
我做过像你这样的分页。但我还有一个问题,我不能同时在服务器端进行排序。因为排序和分页都需要在“ORDERBY”子句之后添加列 目前,我发现通过合作伙伴API处理任何SOQL查询的最有效的解决方案是,在请求当前结果之外的页面时,持久化从初始QueryResult和查询定位器返回的Sobject 这需要在Salesforce QueryResult之上提供一定级别的分页支持 即,当请求页面时,可能需要从以下位置获取对象:
- 当前(缓存的)查询结果
- 可以使用查询定位器获取的后续查询结果
- 先前的查询结果
- 三者的某种结合
SELECT Name FROM Merchandise__c WHERE Price__c > 5.0 ORDER BY Name LIMIT 50 OFFSET 100
看
2012年夏季发布的更新
(是否普遍可用?在Salesforce ideas网站上,讨论了将Id字段与order by一起使用,并将SOQL功能限制为页面浏览结果。看,这可能会给我带来不好的报应,但我确实找到了一种在通用SOQL查询之上进行分页的方法。我想分享代码,但它是商业产品的一部分。如果有人感兴趣,我能做的就是分享一个链接。