SOSL Statements
SOSL (Salesforce Object Search Language) statements estimate to the list of lists of salesforce Objects, where each list contains the search results for a particular salesforce Object type.
The result lists are always returned in the same order as they were specified in the SOSL (Salesforce Object Search Language) query.
- SOSL queries are only supported to the Apex classes and the anonymous blocks.
- You cannot use a SOSL query in the trigger.
- If SOSL query does not return any records for a specified sObject type, and the search results include an empty list for that salesforce Object.
For example
You can return a list of accounts, contacts, opportunities, and leads that begin with phrase map utile:
SOSL:
List
- > searchList = [FIND 'map*' IN ALL FIELDS RETURNING Account (id, name),Contact, Opportunity, Lead];
Description:
The syntax of the FIND clause in Apex differs from the syntax of the FIND clause in the Web services API:
• In Apex, the value of the FIND clause is demarcated with single quotes.
For example:
FIND 'map*' IN ALL FIELDS RETURNING Account (id, name), Contact, Opportunity, Lead.
• In the Force.com API, the value of the FIND clause is demarcated with braces.
Example of SOSL:
FIND {map*} IN ALL FIELDS RETURNING Account (id, name, address), Contact, Opportunity, Lead From search List, you can create arrays for each object returned as given below:
Account [] accounts = ((List) search List [0]); //Account object
Contact [] contacts = ((List) search List [1]); //Contact object
Opportunity [] opportunities = ((List) search List [2]); //Oppty
Lead [] leads = ((List) search List [3]); //Lead object
SOQL and SOSL statements in Apex can reference Apex code variables and the expressions if they are preceded by a colon (:).
This use of a local code variable within a SOQL or SOSL statement is called a bind (concatenate). The Apex parser first evaluates the local variable in code context before executing the SOQL or SOSL statement. Bind expressions can be used as given below:
- Search string in FIND clauses
- Filter literals in WHERE clauses
- Numeric value in LIMIT clauses
- IN or NOT IN operator in WHERE clauses, allowing filtering on a dynamic set of values. Note that this is of particular use with a list of IDs or Strings, though it works with lists of any type.
- Division names in WITH DIVISION clauses
No comments:
Post a Comment