Accéder au contenu principal

Générer une instruction SQL à partir de deux tables

Cet article présente un Job d'exemple générant une instruction SQL à partir de deux tables, à l'aide des composants tELTInput, tELTMap et tELTOutput puis affichant l'instruction SQL générée par le tWarn.

Pour générer une instruction SQL à partir de tables de bases de données multiples, plusieurs composants tELTInput sont reliés à un tELTMap, comme entrée, avec une table de base de données spécifiée dans chaque composant tELTInput. Le composant tELTMap est ensuite relié à un composant tELTOutput. Vous devez définir le mapping des colonnes des tables et les conditions de mapping dans l'éditeur ELT Map du composant tELTMap, passé·es au tELTOutput en tant que composant de sortie. Le tELTOutput génère une instruction SQL en fonction de la sortie du composant tELTMap.

Les paramètres clés des composants dans le Job sont les suivants.

  • Pour le tELTInput_1, la Table_1 est spécifiée comme table d'entrée. La table contient trois colonnes de type DECIMAL : COL1, COL2 et COL3.
  • Pour le tELTInput_2, la Table_2 est spécifiée comme table d'entrée. La table contient deux colonnes de type DECIMAL : COLUMN1 et COLUMN2.
  • Pour le tELTMap_1, le mapping des colonnes de tables est configuré dans l'éditeur ELT Map du composant, comme présenté dans l'image suivante.
  • Pour le tELTOutput_1, les paramètres clés s'affichent dans l'image suivante (faites particulièrement attention aux paramètres dans les cadres rouges).
    Avec tous les paramètres ci-dessus, l'instruction SQL générée sera celle ci-dessous. L'instruction SQL générée sera stockée dans la variable QUERY du tELTOutput_1.
    INSERT INTO PUBLIC.Table_3(COL01,COL02,COL03,COL04)(
       SELECT Table_1.COL1, Table_1.COL2, Table_1.COL3, Table_2.COLUMN2
          FROM Table_1 INNER JOIN  Table_2 ON(Table_2.COLUMN1 = Table_1.COL1))
    Note InformationsRemarque : L'instruction SQL générée est sujette à modification sans avertissement préalable.
  • Le composant tWarn_1 affiche l'instruction SQL générée dans la console. Pour arriver à ce résultat, saisissez ((String)globalMap.get("tELTOutput_1_QUERY")) dans le champ Warn message et sélectionnez, si vous le souhaitez, Info dans la liste déroulante Priority.

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 !