在不知道表的字段名称的情况下确定salesforce表中的记录数

时间:2015-03-16 19:29:51

标签: rest salesforce soql

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

SELECT COUNT(*) FROM <variable_table_name>

                  --or--

SELECT COUNT() FROM <variable_table_name>

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

我的最后一步是两个步骤:

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

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

1 个答案:

答案 0 :(得分:2)

答案是使用COUNT()而不使用任何字段。谢谢Salman Syed。对我而言,问题是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属性。