Skip to content

Instantly share code, notes, and snippets.

@lfreeland
lfreeland / gist:ff7b0ef4de6ed265bad0
Created March 28, 2016 00:52
Common Dynamic SOQL
String idInClause = '(\'';
for (Id acctId : accountIds){
idInClause += acctId + ‘\’,\’’;
}
idInClause = idInClause.substring(0,idInClause.length()-2);
idInClause += ')';
@lfreeland
lfreeland / gist:1e38e8af6a1845e1e7b0
Created March 28, 2016 00:57
Variable Binding Dynamic SOQL
Set<Id> accountIds = …
/* The accountIds variable is directly embedded in the accountQuery string and binded
against in Database.query
*/
String accountQuery = ‘select id, name from Account where Id in :accountIds’;
@lfreeland
lfreeland / gist:07cf40b878020f430dcc
Created March 28, 2016 12:30
Invalid Dynamic SOQL From Function
String accountQuery = ‘Select id, name from Account where Id in :getAccountids()’;
@lfreeland
lfreeland / gist:3a0be19e72167c395983
Created March 28, 2016 12:31
Invalid Dynamic SOQL from SObject Reference
Account acct = new Account(Id = ‘Some_Acct_Id_Here’);
String accountQuery = ‘Select id, name from Account where Id = :acct.Id’;
@lfreeland
lfreeland / gist:9093ef1523efbfda9af8
Created March 28, 2016 12:35
Valid Dynamic SOQL Function and SObject Reference Examples
// Valid Dynamic SOQL from function
Set<Id> accountIds = getAccountids();
String accountQuery = ‘Select id, name from Account where Id in :accountIds’;
// Valid Dynamic SOQL from SObject
Account acct = new Account(Id = ‘Some_Acct_Id_Here’);
Id accountId = acct.Id;
String accountQuery = ‘Select id, name from Account where Id = :accountId’;
/**
* @description Builder class for dealing with Account records.
* Solely used for testing, NOT a data factory.
**/
@isTest
public class AccountTestData extends SObjectTestData {
/**
* @description Overridden method to set up the default
* Account state for AccountTestData.
String format = 'Select Id from Account where Id = \'{0}\'';
String Id = '<some_id>';
String query = String.format(format, new List<String>{ Id });
system.debug(' query is ' + query);
// Output: query is Select Id from Account where Id = {0}
String format = 'Select Id from Account where Id = {0}';
String Id = '<some_id>';
String query = String.format(format, new List<String>{ Id });
system.debug(' query is ' + query);
// Output: query is Select Id from Account where Id = <some_id>
String format = 'Select Id from Account where Id = \'\'{0}\'\'';
String Id = '<some_id>';
String query = String.format(format, new List<String>{ Id });
system.debug(' query is ' + query);
// Output: query is Select Id from Account where Id = '<some_id>'
@lfreeland
lfreeland / gist:3289c941b3f7313cb8a088ccfef5190b
Created May 12, 2016 12:16
Upsert List<SObject> With ExternalId No AllOrNothing Error Example
public static List<Database.UpsertResult> upsertListSObjectsWithExternalIdNoAllOrNothingErrorExample() {
List<SObject> records = new List<SObject>();
Account a = new Account(
Name = 'Example Company',
External_Id__c = 'ExampleCompany'
);
records.add(a);