Soql guide pour débutants

14
SOQL : Guide des débutants

Transcript of Soql guide pour débutants

Page 1: Soql guide pour débutants

SOQL : Guide des débutants

Page 2: Soql guide pour débutants

ABDELHAKIMMOUTTAQUI Chef de projets Sénior, SIWAY@adbelhakim@casasfdug@SiWay_WebAgencyhttps://ma.linkedin.com/in/abdelhakimmouttaquihttps://www.linkedin.com/company/siwayhttp://abdelhakimmouttaqui.blogspot.com/[email protected]@siway.fr

Page 3: Soql guide pour débutants

SIWAY - VOTRE INTÉGRATEUR CERTIFIE SALESFORCESOQL : GUIDE DES DÉBUTANTS

Sommaire :

1. Qu’est-ce que c’est SOQL et pourquoi devrais-je l’apprendre?

2. Où écrire des requêtes SOQL

3. Exemple: Comment écrire une requête SOQL simple

4. Exemple: Comment écrire une requête SOQL cross-objet («vers le haut»)

5. Exemple: Comment écrire une requête SOQL cross-objet («vers le bas»)

Page 4: Soql guide pour débutants

SOQL : GUIDE DES DÉBUTANTSQU’EST-CE QUE C’EST SOQL ET POURQUOI DEVRAIS-JE L’APPRENDRE?

SOQL est le langage officielle de requête de Salesforce. Il est basé sur SQL !

En un mot, SOQL est juste un outil qui vous permet d'accéder à n’importe quel enregistrement dans votre base de données Salesforce. Voici un exemple:

SELECT Id, Name, Email, AccountId FROM Contact

Dans le code ci-dessus, nous utilisons SOQL pour accéder à ces quatre champs pour chaque contact dans Salesforce!

Page 5: Soql guide pour débutants

SOQL : GUIDE DES DÉBUTANTSQU’EST-CE QUE C’EST SOQL ET POURQUOI DEVRAIS-JE L’APPRENDRE?

Voici pourquoi SOQL est significatif:

1. Vous pouvez utiliser les deux SOQL et Apex dans un déclencheur

2. SOQL vous permet de faire des actions cross-object dans votre déclencheur

SOQL vous permet d'accéder aux enregistrements qui sont normalement pas disponible dans votre déclencheur.

Par exemple, si vous écrivez un déclencheur sur les pistes, vous pouvez utiliser SOQL d'accéder aux données de l'utilisateur, un objet totalement indépendants!

3. La maîtrise SOQL est la clé de la maîtrise ApexUn bon développeur Salesforce empêche leur code d’atteindre ces

limites en utilisant efficacement SOQL.

Page 6: Soql guide pour débutants

SOQL : GUIDE DES DÉBUTANTSOÙ ÉCRIRE DES REQUÊTES SOQL

Vous avez probablement déjà écrit SOQL, mais vous ne pourriez pas le réaliser encore!

Est-ce que ceci est familier pour vous?

OUI - vous pouvez écrire des requêtes SOQL dans Data Loader! Et oui, vous pouvez contourner l'interface utilisateur et il suffit de taper votre requête dans la boîte!

Page 7: Soql guide pour débutants

SOQL : GUIDE DES DÉBUTANTSOÙ ÉCRIRE DES REQUÊTES SOQL

Mais il ya encore un meilleur endroit pour écrire SOQL, et il est à la mode ces jours. Je parle de nouvel outil de Salesforce appelé Workbench.

Pour commencer l'écriture de requêtes SOQL, connectez-vous simplement à Workbench (https://workbench.developerforce.com/login.php) et rendez-vous ici:

Queries >> SOQL Query

L'écriture de requêtes SOQL dans Workbench ou Data Loader est utile pour tester vos requêtes, mais le pouvoir réel de SOQL vient quand vous l’utilisez avec Apex, comme dans un déclencheur.

Page 8: Soql guide pour débutants

SOQL : GUIDE DES DÉBUTANTSEXEMPLE: COMMENT ÉCRIRE UNE REQUÊTE SOQL SIMPLE

SOQL est tellement fondamentale que je n'ai presque pas besoin d'expliquer ces exemples !

Ceci est votre requête de base qui tire trois champs standard et un champ personnalisé de chaque contact.

SELECT Id, Name, Sex__c, BirthDate FROM ContactLa clause WHERE :

SELECT Id, Name, Sex__c FROM Contact WHERE DoNotCall = false

L'utilisation de valeurs TEXTE, PickList, ou ID:

SELECT Id, Name, Phone, Birthdate, Likes_Ice_Cream__c FROM Contact WHERE Phone != null AND Sex__c = 'Female' AND RecordTypeId != '012i0000000ES3H'

Toujours entourer ces trois types de données dans des guillemets simples !

Utilisation de dates :

SELECT Id, Name, Phone, Birthdate, Likes_Ice_Cream__cFROM Contact WHERE Phone != nullAND BirthDate = TODAY

Page 9: Soql guide pour débutants

SOQL : GUIDE DES DÉBUTANTSEXEMPLE: COMMENT ÉCRIRE UNE REQUÊTE SOQL CROSS-OBJET («VERS LE HAUT»)

Chaque fois que vous deux objets connectés dans SALESFORCE, vous allez devoir soit accéder au données vers le HAUT ou bien vers le BAS.«Upwards traversal» est utilisée chaque fois qu'il ya un champ de l'objet de type «lookup» ou «master-detail». Ceci est parfois désigné comme allant de l'enfant au parent.

Voici quelques exemples de parcours vers le haut:

SELECT Id, Account.Name, Account.Industry, Account.WebsiteFROM ContactWHERE Account.NumberOfEmployees >= 200

L'exemple ci-dessus peut vous sembler familier - si vous avez créer un WORKFLOW sur les contacts, vous seriez en mesure de référencer les champs de compte du contact en utilisant la même notation par points.

SELECT Account.Owner.Profile.CreatedBy.Name FROM Contact

Vous pouvez parcourir plusieurs niveaux vers le haut!

SELECT Id, Best_Friend__r.Likes_Ice_Cream__c FROM Contact

Ici, nous allons parcouru un champ «lookup» personnalisé «Best_Friend__c» sur l'objet de contact. Remarquez comment la «__C» se transforme en «__r» en parcourant ce domaine!

Page 10: Soql guide pour débutants

SOQL : GUIDE DES DÉBUTANTSEXEMPLE: COMMENT ÉCRIRE UNE REQUÊTE SOQL CROSS-OBJET («VERS LE BAS»)

Parcours vers le bas est quand vous récupérez des enregistrements d'une liste liée. Par exemple, si nous faisons une requête SOQL sur les comptes, le parcours vers le bas pourrait extraire des données de contacts du compte.

Jetons un œil à une requête SOQL Parcours vers le bas:

SELECT Id, Name, Industry, AnnualRevenue, ( SELECT Name, Email, BirthDate FROM Contacts )FROM Account

Nous avons essentiellement deux requêtes dans une instruction SOQL. Un pour récupérer les données générales de compte, et l'autre pour récupérer la liste de contacts liés.

Page 11: Soql guide pour débutants

SOQL : GUIDE DES DÉBUTANTSEXEMPLE: COMMENT ÉCRIRE UNE REQUÊTE SOQL CROSS-OBJET («VERS LE BAS»)

Ne pas oublier ces trois choses lorsque vous utilisez le Parcours vers le bas :1. La requête imbriquée est traitée comme un autre champ. Voilà pourquoi il y a une virgule après le champ de

AnnualRevenue.

2. Nous utilisons la version pluriel "Contacts" dans la requête SOQL imbriqué. Si vous avez besoin pour trouver le mot-clé pour une relation personnalisée, trouver le champ lookup ou de master-detail et de regarder ici:

Astuce Pro : Si vous utilisez des relations personnalisées, ajouter « __r » pour le mot clé: « Contacts__r » 

3. Vous pouvez combiner toutes les techniques de SOQL que vous avez appris dans votre requête!

SELECT Id, Name, Account.Description, CreatedBy.Name, (SELECT Amount FROM Opportunities WHERE Amount > 100), (SELECT Name FROM Best_Friends__r WHERE Phone != null)

FROM Contact WHERE Account.Secret_Notes__c LIKE '%Tacos%' AND (Sex__c = 'Male' OR Likes_Ice_Cream__c = true)

Page 12: Soql guide pour débutants

Q & A

Page 13: Soql guide pour débutants

Merci !

Page 14: Soql guide pour débutants

CONTACT

www.siway.fr

Tel Maroc : 05 22 26 99 [email protected]