Using UPDATE keyword in SOQL helps us to lock the records from being updating from another request.
Account  objAccts = [SELECT Id, Name FROM Account where Country='India' FOR UPDATE];
Note: We can’t use the
ORDER BY keywords in any SOQL query that uses locking.
String name = [SELECT Name FROM Account].Name;
SavePoint and Rollback will help us to maintain transaction for DML statement.
Suppose you have written multiple lines of DML statements in a try block, If any error occurs during DML Operations, the operation will be rolled back to the most recent save point and the entire transaction will not be aborted.
sp = Database.setSavepoint();
Account a = new Account();
a.Name = 'Test Account';
Contact c = new Contact(Account = a.Id);
c.FirstName = 'Biswajeet';
c.LastName = 'Samal';
In this example, if any error occurs while inserting the Account ‘a’ or Contact ‘c’, then the entire transaction will be rolled back to SavePoint ‘sp’, as specified in the catch section by Database.Rollback method.
toLabel() is used to convert the results of a field into user’s language.
toLabel() can convert the results into user’s language, if the translation workbench is enabled.
- In all Salesforce edition we can use
- For picklist and Record type values we can use the
toLabel() function in SOQL.
Here is an example:
SELECT Name, toLabel(Industry) FROM Account
Sometimes we need “NOT LIKE” operator in SOQL.
But SOQL will not allow someone to write simple query using “Not Like” operator such as:
SELECT Name From Account Where Name Not Like '%Test%';
So, here is the solution:
SELECT Name From Account Where Not Name Like '%Test%';
If you are using “GROUP By” clause with “Not Like” operator, here is an example:
SELECT Name From Account Where Not Name Like '%Test%' Group By Name;