gpt4 book ai didi

Salesforce SOQL 描述表

转载 作者:行者123 更新时间:2023-12-04 02:07:59 27 4
gpt4 key购买 nike

有没有办法在 Salesforce 中获取表中所有字段的列表? DESCRIBE myTable不起作用,并且 SELECT * FROM myTable不起作用。

最佳答案

在 Apex 中,您可以通过运行以下 Apex 代码片段来获取此信息。如果您的表/对象名为 MyObject__c ,那么这将为您提供一组您有权访问的该对象上所有字段的 API 名称(这很重要 --- 即使作为系统管理员,如果您的表/对象上的某些字段通过字段级别不可见对你安全,他们不会出现在这里):

// Get a map of all fields available to you on the MyObject__c table/object
// keyed by the API name of each field
Map<String,Schema.SObjectField> myObjectFields
= MyObject__c.SObjectType.getDescribe().fields.getMap();

// Get a Set of the field names
Set<String> myObjectFieldAPINames = myObjectFields.keyset();

// Print out the names to the debug log
String allFields = 'ALL ACCESSIBLE FIELDS on MyObject__c:\n\n';
for (String s : myObjectFieldAPINames) {
allFields += s + '\n';
}
System.debug(allFields);

完成此操作,并实现 SELECT * FROM MYTABLE功能,您需要使用以下字段构建动态 SOQL 查询:
List<String> fieldsList = new List<String>(myObjectFieldAPINames);
String query = 'SELECT ';
// Add in all but the last field, comma-separated
for (Integer i = 0; i < fieldsList.size()-1; i++) {
query += fieldsList + ',';
}
// Add in the final field
query += fieldsList[fieldsList.size()-1];
// Complete the query
query += ' FROM MyCustomObject__c';
// Perform the query (perform the SELECT *)
List<SObject> results = Database.query(query);

关于Salesforce SOQL 描述表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12586111/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com