Development questions
Write a SOQL query to retrieve the Record Type ID and DeveloperName for the Account object without using a RecordType SOQL query (compare SOQL on RecordType vs Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName()).
SOQL on RecordType costs a query against the governor limit:
soql
SELECT Id, DeveloperName FROM RecordType WHERE SobjectType = 'Account'
Schema describe returns record type info without using any SOQL query:
apex
Id rtId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Customer').getRecordTypeId();
Prefer describe calls in triggers and loops because they don't count against the 100 SOQL limit (note: describe only returns record types available to the running user, except the Master type).
soqlscenariorecord-typedescribe
More Development questions
- What is an Apex Trigger in Salesforce and when should you use it over Flows?
- What is the difference between before triggers and after triggers?
- Explain all Trigger context variables (isInsert, isUpdate, isDelete, isUndelete, isBefore, isAfter, isExecuting, size, operationType).
- What is the difference between Trigger.new and Trigger.old?
- In which trigger events are Trigger.new and Trigger.newMap available?
- In which trigger events are Trigger.old and Trigger.oldMap available?