Instructions SELECT personnalisée
MapForce vous permet de créer des instructions SELECT SQL avec ou sans paramètres. Ces instructions sont représentées comme structures table-like, desquelles vous pouvez mapper des données dans d’autres composants. Par exemple, vous pouvez créer une instruction personnalisée pour joindre des tables, filtrer vos données de base de données, et définir les paramètres qui peuvent accepter les valeurs d’un autre composant dans le mappage.
Les instructions SELECT SQL sans paramètres sont pris en charge dans C++, C#, Java, et les langues Built-In. Les instructions SELECT SQL avec des paramètres d’entrée sont compatibles uniquement avec un langage de transformation Built-In.
Créer/Éditer/Supprimer une instruction SELECT
Pour ajouter une instruction SELECT au composant de base de données, suivez les instructions ci-dessous.
1.Cliquer sur la barre de titre d'un composant de base de données et choisir Ajouter/Supprimer/Éditer des objets de base de données depuis un menu contextuel. Comme alternative, sélectionnez le composant de base de données sélectionnez la commande de menu Composant | Ajouter/Supprimer/Éditer les objets de base de données.
2.Dans le dialogue Ajouter/Supprimer/Éditer les objets de base de données, suivez une des étapes suivantes :
oPour saisir une instruction SELECT personnalisée, cliquez sur la touche Ajouter/Éditer instruction SELECT.
oPour générer l'instruction SELECT depuis une table existante, cliquez avec la touche de droite sur une table et choisir Générer et ajouter une instruction SQL depuis le menu contextuel. Vous pourrez éditer l'instruction générée ultérieurement.
Pour modifier une instruction SELECT existante, procédez comme suit :
•Cliquer avec la touche de droite sur l'instruction SELECT que vous souhaitez supprimer et choisir Éditer l’instruction SELECT.
•Cliquez avec la touche de droite à de la base du composant et sélectionnez Ajouter/Supprimer/ Éditer Filtre depuis le menu contextuel. Puis double-cliquez sur l’instruction SELECT pertinente dans le dialogue Ajouter/Supprimer/Éditer Objets de base de données.
•Dans le dialogue Ajouter/Supprimer/Éditer les objets de base de données, sélectionnez l’instruction SELECT pertinente et cliquez sur Ajouter/Éditer l’instruction SELECT.
•Dans le dialogue Ajouter/Supprimer/Éditer les objets de base de données, sélectionnez l’instruction SELECT pertinente et cliquez sur Ajouter/Éditer l’instruction SELECT.
Pour supprimer une instruction SELECT, suivez les étapes ci-dessous :
1.Cliquez avec la touche de droite sur le composant de la base de données et choisir Ajouter/Supprimer/Éditer des objets de base de données.
2.Cliquez avec la touche de droite sur l'instruction SELECT que vous souhaitez supprimer et sélectionnez Supprimer instruction SELECT depuis le menu contextuel.
Notes importantes
Veuillez prendre note des points suivants :
•Toutes les expressions calculées dans l'instruction SELECT doivent avoir un nom de corrélation unique (par exemple SELECT *, (Quantity*UnitPrice) AS Price) pour être disponible en tant qu'items mappables.
•Si vous vous connectez à une base de données Oracle ou IBM DB2 utilisant JDBC, l’instruction, l’instruction SELECT ne doit pas avoir le point-virgule final.
Instructions SQL SELECT sans paramètres
L’exemple ci-dessous affiche comment travailler avec les instructions personnalisées SELECT sans paramètres. Dans le mappage ci-dessous, nous mappons des données de base de données vers un fichier texte. La base de données BookCatalog.sqlite a une table parent appelée Authors et une table enfant appelée Books. Toutefois, seule l’instruction SELECT avec une structure d’arborescence est affichée dans le compostant. La structure de l’arborescence dépend de la requête SQL que vous définissez dans le dialogue Saisir une instruction SQL SELECT. Puisque rien ne sera mappé des tables Authors et Books, ces tables sont absentes du composant.
![MF_SELECT01](./images/mf_select01.png)
Instruction SELECT
Pour le composant de base de données, nous avons ajouté l’instruction SQL suivante (voir instructions dans Créer/Éditer/Supprimer une instruction SELECT):
![MF_SELECT02](./images/mf_select02.png)
L’instruction SQL sélectionne toutes les tables de la table Authors et filtre les données de base de données pour inclure uniquement des auteurs de la GB. Dès que nous avons ajouté cette instruction dans le dialogue Saisir une instruction SQL SELECT, l’instruction devient disponible dans le dialogue Ajouter/Supprimer/Éditer les objets de base de données (capture d’écran ci-dessous). L’instruction devient également visible dans le composant de base de données (voir le mappage ci-dessus). Le nombre de lignes visibles de l’instruction SELECT peut être configuré dans le dialogue Options (l’option Limiter l’affichage d’annotation).
![MF_SELECT03](./images/mf_select03.png)
Sortie
La sortie affiche la liste de valeurs séparées par virgule qui incluent les auteurs uniquement de la GB (liste de code ci-dessous).
Auteur, Pays, Site web
Bram Stoker,UK,www.bramstoker.org
Charles Dickens,UK,www.charlesdickensinfo.com
Emily Brontë,UK,n/a
James Herbert,UK,www.james-herbert.co.uk
Neil Gaiman,UK,www.neilgaiman.com
Terry Pratchett,UK,www.terrypratchettbooks.com
Agatha Christie,UK,www.agathachristie.com
Roald Dahl,UK,www.roalddahlfans.com
David Walliams,UK,www.worldofdavidwalliams.com
Kenneth Grahame,UK,n/a
Philip Pullman,UK,www.philip-pullman.com
J.K. Rowling,UK,www.jkrowling.com
Ann Cleeves,UK,www.anncleeves.com
Instructions SQL SELECT sans paramètres
Notre deuxième exemple illustre un mappage dans lequel le composant de base de données a une instruction personnalisée SELECT avec un paramètre (voir la capture d’écran ci-dessous).
![MF_SELECT04](./images/mf_select04.png)
Instruction SELECT
Pour le composant BookCatalog, nous avons saisi l’instruction SQL suivante :
![MF_SELECT05](./images/mf_select05.png)
L’instruction utilise le paramètre Country. Ce paramètre acceptera les valeurs d’une constante (under the BookCatalog component). Pour pouvoir mapper les données depuis l’instruction SELECT avec le paramètre, cliquez sur le bouton à côté du nœud SELECT_Statement dans le composant de base de données (mappage ci-dessus) et sélectionnez Insérer appel avec Paramètres depuis le menu contextuel. Ceci insère un composant Appel avec des paramètres (composant central dans mappage ci-dessus). Le composant Appel consiste en deux parties : La partie gauche accepte un paramètre d’entrée (dans notre cas, Country), et la partie droite réplique l’instruction SELECT avec la structure d’arborescence depuis le composant de base de données. Les données filtrées sont ensuite mappées dans le fichier texte Authors.
Sortie
La sortie affiche maintenant des auteurs uniquement des États-Unis d’Amérique (liste de code ci-dessous).
Auteur, Pays, Site web
Stephen King,US,www.stephenking.com
Frank Herbert,US,n/a
Isaac Asimov,US,www.asimovonline.com
Blake Crouch,US,www.blakecrouch.com
Ray Bradbury,US,www.raybradbury.com
Joe Hill,US,www.joehillfiction.com
Josh Malerman,US,www.joshmalerman.com
George R. R. Martin,US,www.georgerrmartin.com
A. J. Finn,US,n/a
Dan Brown,US,www.danbrown.com
Dean Koontz,US,www.deankoontz.com
Exemples de fichiers
Pour plus d’information sur les mappages qui utilisent des instructions personnalisées SQL SELECT comme entrée, voir les exemples suivants dans le dossier MapForceExamples :
•DB_EmployeeListByTitle.mfd
•DB_MostExpensiveArticle.mfd
•DB_ManagerList_AllOffices.mfd
•DB_ManagerList_SelectedDepartment.mfd
•DB_ManagerList_SelectedOffice.mfd