Accéder au contenu principal

Utiliser le tMysqlSP pour trouver le libellé State à l'aide d'une procédure stockée

Le Job suivant a pour but de trouver les libellés State en fonction des ID impairs de la colonne State d'une table MySQL à deux colonnes. à l'aide d'une procédure stockée.

Pour plus de technologies supportées par Talend, consultez Composants Talend.

  • Cliquez et déposez les composants suivants dans l'espace de modélisation : tRowGenerator, tMysqlSP et tLogRow.

  • Connectez les composants à l'aide d'une connexion de type Row Main.

  • Le tRowGenerator est utilisé pour générer des ID impairs. Double-cliquez sur le composant pour lancer l'éditeur.

  • Cliquez sur le bouton [+] pour ajouter une colonne au schéma à générer.

  • Cochez la case Key pour définir l'entrée comme étant une clé primaire et définissez le Type en Int (entier).

  • Dans le champ Length, la longueur est de 2 chiffres au maximum.

  • Utilisez la fonction préétablie appelée sequence mais modifiez les paramètres dans la partie inférieure de la fenêtre.

  • Modifiez la valeur (Value) de step : de 1 à 2 pour cet exemple. Mais la valeur de départ (start value) reste 1.

  • Dans le champ Number of generated rows, définissez le nombre de lignes à générer à 25, afin que tous les ID impairs de State (il y a 50 États) soient générés.

  • Cliquez sur OK pour valider la configuration.

  • Puis sélectionnez le composant tMysqlSP et paramétrez ses propriétés.

  • Dans le champ Property type, sélectionnez l'option Repository puis sélectionnez l'entrée correspondante dans la liste. Les informations de connexion sont remplies automatiquement.

  • Sinon, paramétrez les informations de connexion manuellement.

  • Cliquez sur Sync Column pour récupérer le schéma généré du composant précédent.

  • Puis cliquez sur Edit Schema et ajoutez une colonne supplémentaire contenant les libellés des États (State) à obtenir en sortie, en plus de l'ID.

  • Dans le champ SP Name, saisissez le nom de la procédure comme il a été défini dans la base de données (ici, getstate). La procédure à exécuter correspond à :

    DROP PROCEDURE
    IF EXISTS `talend`.`getstate` $$
    CREATE DEFINER=`root`@`localhost` PROCEDURE `getstate`(IN pid INT, OUT
    pstate VARCHAR(50))
    BEGIN
    SELECT LabelState INTO pstate FROM us_states WHERE idState = pid;
    END $$
  • Dans la zone Parameters, cliquez sur le bouton [+] pour ajouter une ligne à la table.

  • Définissez le champ Column en ID, et le champ Type en IN, ainsi il sera considéré comme paramètre d'entrée dans la procédure.

  • Ajoutez une deuxième ligne et définissez le champ Column en State et le champ Type en Out, ainsi il sera considéré comme le paramètre de sortie à retourner.

  • Et enfin, paramétrez les propriétés du composant tLogRow.

  • Synchronisez le schéma avec celui du composant précédent.

  • Et cochez la case Print values in cells of a table pour un meilleur confort de lecture.

  • Puis enregistrez votre Job et exécutez-le.

La sortie affiche les différents Etats (State) avec leur ID impair comme défini dans la procédure.

Note InformationsRemarque :

Vérifiez Insérer des données dans des tables parent/enfant si vous souhaitez analyser un ensemble d'enregistrements depuis une table de base de données ou une requête de base de données et retourner des enregistrements individuels.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !