首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询Salesforce对象列名w/SOQL

查询Salesforce对象列名w/SOQL
EN

Stack Overflow用户
提问于 2020-02-04 22:59:57
回答 2查看 8.3K关注 0票数 3

在Salesforce实例和SnapLogic桶之间的S3集成中,我使用Salesforce snap。

我试图使用Salesforce SOQL管理字段"SOQL query*“中的SOQL查询返回对象的列名。例如,我希望运行一个SOQL查询来返回"Account“对象的列名。

我这样做是因为SOQL不允许“选择*”。我在Apex中看到了这方面的代码解决方案,但我正在寻找一种仅使用SOQL查询的方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-04 23:36:46

你想查询元数据吗?可用表的名称,您可以在每个表中看到的列的名称,可能是类型而不是真实的帐户/联系人/.数据,对吗?

您可能需要稍微提高API的版本,当前为47 / 48,因此在当前的对象中可能看不到某些对象。还有-你有哪些API选项?肥皂休息?"Tooling“是一个选项吗?因为它有非常好的官方FieldDefinition表来拉这个。

这并不完美,但这可能会让你开始:

代码语言:javascript
复制
SELECT EntityDefinition.QualifiedApiName, QualifiedApiName, DataType
FROM FieldDefinition
WHERE EntityDefinition.QualifiedApiName IN ('Account', 'Contact', 'myNamespace__myCustomObject__c')

我没有看到REST引用中的表,但是它似乎在Workbench中查询OK,所以有希望。

一般试着搜索关于EntityDefinition,FieldDefinition,EntityParticle.例如,这是一个不错的机会来了解哪些表对您是可见的:

代码语言:javascript
复制
SELECT KeyPrefix, QualifiedApiName, Label, IsQueryable, IsDeprecatedAndHidden, IsCustomSetting
FROM EntityDefinition
WHERE IsCustomizable = true AND IsCustomSetting = false

或者,在紧要关头,您可以尝试查看您的用户有查询权限的字段。这样做有点迂回,但我不知道连接器可以“看到”哪些表。

票数 9
EN

Stack Overflow用户

发布于 2022-08-04 07:44:19

从API 51.0开始,有一个field()函数可用:它允许您查询给定对象的所有字段,类似于"SELECT *“

示例:

代码语言:javascript
复制
SELECT FIELDS(ALL) FROM User LIMIT 200

参考资料:https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_fields.htm

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60066774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档