¿Hay alguna manera de obtener una lista de todos los campos en una tabla en Salesforce? DESCRIBE myTable
no funciona, y SELECT * FROM myTable
no funciona.Salesforce SOQL describe la tabla
Respuesta
Desde dentro de Apex, se puede obtener esta ejecutando el siguiente fragmento de código Apex. Si su tabla/objeto se llama MyObject__c
, esto le dará un conjunto de nombres de API de todos los campos en ese objeto al que tiene acceso (esto es importante --- incluso como administrador del sistema, si ciertos campos en su tabla/objeto no son visibles a través de Nivel de campo de Seguridad para usted, que no aparecen aquí):
// 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);
para terminar esto, y lograr SELECT * FROM MYTABLE
funcionalidad, lo que se necesita para construir una consulta SOQL dinámico utilizando estos campos:
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);
la llamada a la API describeSObject devuelve todos los metadatos sobre un objeto/tabla determinada, incluidos sus campos. Está disponible en SOAP, REST & Apex APIs.
Intente utilizar Schema.FieldSet
Schema.DescribeSObjectResult d = Account.sObjectType.getDescribe();
Map<String, Schema.FieldSet> FsMap = d.fieldSets.getMap();
Ha intentado DESC myTable
?
Para mí funciona bien, también está en los consejos subyacentes en cursiva. Mire:
[sf: MALFORMED_QUERY] MALFORMED_QUERY: token inesperado: DESC –
Interesante. Esto funciona para mi. – Riccardo
- 1. SOQL Paginación para las consultas de la API de Salesforce
- 2. Comprobando el campo Fecha en blanco en Salesforce
- 3. consulta SOQL DONDE Fecha = 30_days_ago?
- 4. API de REST de Salesforce Consulta más de 2000
- 5. Salesforce SOAP VS REST
- 6. Revertir cambios en Salesforce
- 7. La actualización no funciona en SalesForce API
- 8. Muchas consultas DESCRIBE en Zend Framework
- 9. API Salesforce REST ¿Iniciar sesión?
- 10. salesforce rest api INVALID_SESSION_ID error
- 11. CSS, Salesforce, ExtJS y blues
- 12. ¿Cómo puedo describir una tabla en Oracle sin usar el comando DESCRIBE?
- 13. ¿Cómo obtener la información de columna de la tabla de Oracle que no es de su propiedad (sin utilizar describe)?
- 14. Problema de SOQL al consultar la historia de ActivityHi como una subconsulta ...
- 15. Describe el comando "superior" en Android
- 16. Documento que describe la implementación de Lua 5.2?
- 17. ¿Describe la repetición de nodos XML en W3C XML Schema?
- 18. Gramática sin contexto que describe expresiones regulares?
- 19. SalesForce en el inicio de sesión de iOS sin utilizar SalesForce Webview?
- 20. Consulta de Soql para recuperar oportunidades entre dos fechas
- 21. Salesforce: evitar los límites del gobernador en las clases de prueba en todos los ámbitos
- 22. contacto asociado con la cuenta usando api de Salesforce
- 23. ¿Admite Salesforce Apex la herencia de métodos estáticos?
- 24. SalesForce consulta de la API no muestra los campos personalizados
- 25. Autenticación federada y autenticación delegada en Salesforce
- 26. Salesforce Apex Trigger "isAPI" Variable de contexto
- 27. Límite de solicitud de Salesforce API 10
- 28. ¿Cómo detecto el entorno en Salesforce?
- 29. No refresh_token en SalesForce OAuth Response
- 30. ¿Cómo integro Salesforce con Google Maps?
¿Cómo puedo consultar esto con SOQL? – Maverick
Creo que no es posible usar solo SOQL ... puedes hacerlo usando Javascript (o cualquier lenguaje de implementación de API), o Apex como yo respondí. –
Puede ver su misma pregunta y la misma respuesta aquí: http://stackoverflow.com/questions/8780413/salesforce-soql-query-to-fetch-all-the-fields-on-the-entity –