【问题标题】:Determine the number of records in a salesforce table without knowing the table's field names在不知道表字段名称的情况下确定 Salesforce 表中的记录数
【发布时间】:2015-03-16 19:29:51
【问题描述】:

我正在使用 Salesforce REST API 来确定每个 Salesforce 表中的记录数。理想情况下,我可以在每个表上进行这样的查询:

SELECT COUNT(*) FROM <variable_table_name>

                  --or--

SELECT COUNT() FROM <variable_table_name>

很遗憾,SOQL 不支持将* 作为全选。在没有字段的情况下运行 COUNT() 也不起作用。在不知道至少一个字段名称的情况下,如何确定每个表包含多少行?

我最后的手段是一个两步过程:

  1. 使用 SObject Describe 资源检索字段名称
  2. COUNT 与该字段名称一起使用

这意味着每个表有两个网络调用,而不仅仅是一个。我不想那样做。

【问题讨论】:

  • 我不确定为什么 count() 不适合你。 Salesforce 开发文档说它应该可以工作。我现在没有要测试的实例。 link

标签: rest salesforce soql


【解决方案1】:

答案是使用不带任何字段的COUNT()。谢谢萨尔曼赛义德。我的问题是COUNT(Id) 的网络响应与COUNT() 的网络响应不同。

COUNT(Id)WebResponse 内容

{
    "totalSize":1,
    "done":true,
    "records":[{
         "attributes":{"type":"AggregateResult"},
         "expr0":260
    }]
}

COUNT()WebResponse 内容

{
    "totalSize":260,
    "done":true,
    "records":[]
}

使用COUNT() 时,我需要查看totalSize 属性而不是records.expr0 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-26
    • 2014-05-08
    • 2012-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 2011-09-09
    相关资源
    最近更新 更多