1

有什么方法可以处理 SOQL 的 10,000 个字符限制

4

3 回答 3

2

我很确定你不能。根据底部的this page,它会引发错误。这是一个 API,这取决于他们。

http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_soql_select.htm

SOQL 语句不能超过 10,000 个字符。对于超过此最大长度的 SOQL 语句,API 返回 MALFORMED_QUERY 异常代码;不返回任何结果行。

于 2010-07-26T10:36:54.257 回答
1

这不是解决方法,但字符限制是 100k 而不是 10k :) https://help.salesforce.com/s/articleView?id=000333028&type=1 根据文章也许可以通过“产品管理”更改限制. 否则,我建议尽可能分解查询。

于 2021-08-17T12:00:35.947 回答
0

这是我会做的......

我的函数中有 2 个查询,首先从表 X 中提取 id,然后在 WHERE IN 子句中使用这些 IDS。

现在,如果第一个查询返回超过 526 个 IDS(10,000 / 19 = 526 - ID 的长度是 18 + comma )并且我在第二个查询中使用它们,那么它将引发错误。

我能做的是检查返回的#IDS 并以 500 个左右的批次运行它们,因此查询大小将始终小于 10 k。

另一个问题是,如果您提取超过 6000 个 IDS,那么您将需要运行超过 100 个 SOQL,这将达到另一个调控器限制。

但是,如果您确定从第一个 SOQL 返回的 IDS 小于 6k,那么它将为您工作。

在这种情况下,另一种选择是使用内部查询。

于 2013-09-25T06:04:17.840 回答