Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chrispaquet/92527634b8819fc0a826427313f9ed29 to your computer and use it in GitHub Desktop.
Save chrispaquet/92527634b8819fc0a826427313f9ed29 to your computer and use it in GitHub Desktop.
A code snippet that mimics the popular Select * SQL syntax in force.com's Apex language.
/*
* @description: A code snippet that mimics the popular Select * SQL syntax in force.com's Apex language.
*/
// Initialize setup variables
String objectName = 'Contact'; // modify as needed
String query = 'SELECT';
Map<String, Schema.SObjectField> objectFields = Schema.getGlobalDescribe().get(objectName).getDescribe().fields.getMap();
// Grab the fields from the describe method and append them to the queryString one by one.
for(String s : objectFields.keySet()) {
query += ' ' + s + ', ';
}
// Manually add related object's fields that are needed.
query += 'Account.Name,'; // modify as needed
// Strip off the last comma if it exists.
if (query.subString(query.Length()-1,query.Length()) == ','){
query = query.subString(0,query.Length()-1);
}
// Add FROM statement
query += ' FROM ' + objectName;
// Add on a WHERE/ORDER/LIMIT statement as needed
query += ' WHERE firstName = \'test\''; // modify as needed
try {
List<Contact> contacts = database.query(query);
} catch (QueryException e){
//perform exception handling
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment