Scénario : Utiliser la fonction MERGE d'Oracle pour mettre à jour et insérer simultanément des données - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Ce scénario décrit un Job vous permettant d'ajouter de nouvelles informations client et de mettre à jour les informations client existantes dans une table de base de données à l'aide de la commande MERGE d'Oracle.

Relier les composants

  1. De la Palette, glissez-déposez les composants suivants dans l'espace de modélisation graphique : tELTOracleInput, tELTOracleMap ainsi qu'un tELTOracleOutput.

  2. Renommez le tELTOracleInput en new_customer, le tELTOracleMap en ELT Mapper et le tELTOracleOutput en merge_data.

  3. Reliez le tELTOracleInput au tELTOracleMap à l'aide d'un lien Row > New Output (table).

    Dans la boîte de dialogue qui s'ouvre, saisissez le nom de la table, NEW_CUSTOMERS. Ce nom doit correspondre au nom de la table de la base de données existante.

  4. Reliez le tELTOracleMap au tELTOracleOutput à l'aide d'un lien Row > New Output (table).

    Dans la boîte de dialogue qui s'ouvre, saisissez le nom de la table de la base de données, customers_merge, qui recevra les résultats de l'opération de MERGE.

Configurer les composants

  1. Double-cliquez sur le tELTOracleInput afin d'afficher sa vue Basic settings.

  2. Dans la liste Schema, sélectionnez Repository, cliquez sur le bouton [...] à côté du champ Edit Schema puis sélectionnez votre connexion de base de données ainsi que le schéma souhaité dans la boîte de dialogue [Repository Content].

    Le nom du schéma sélectionné apparaît automatiquement dans le champ Default Table Name.

    Dans ce scénario, la connexion à la base de données est Talend_Oracle et le schéma est new_customers.

    Note

    Dans ce scénario, le schéma d'entrée est stocké sous le nœud Metadata du Repository afin de le retrouver facilement. Pour plus d'informations concernant les métadonnées, consultez le Guide utilisateur du Studio Talend.

    Vous pouvez également sélectionner le composant d'entrée en déposant le schéma correspondant de la zone Metadata dans l'espace de modélisation graphique et en double-cliquant sur le tELTOracleInput dans la boîte de dialogue [Components]. Cela vous permet d'éviter les étapes de nommage du composant d'entrée ainsi que la définition manuelle de son schéma.

  3. Cliquez sur le composant tELTOracleMap afin d'afficher sa vue Basic settings.

  4. Sélectionnez Repository dans la liste Property Type et choisissez la connexion à la base de données que vous avez utilisée pour les composants d'entrée.

    Les informations relatives à la base de données sont automatiquement récupérées.

    Laissez les autres champs tels qu'ils sont.

  5. Double-cliquez sur le composant tELTOracleMap afin d'ouvrir l'ELT Map Editor et configurer le flux de transformation de données.

    Affichez la table d'entrée en cliquant sur le bouton [+] dans le coin supérieur gauche de l'ELT Map Editor et en sélectionnant le nom de la table correspondante dans le boîte de dialogue [Add a new alias].

    Dans ce scénario, la seule table d'entrée est new_customers.

  6. Sélectionnez toutes les colonnes de la table d'entrée et déposez-les dans la table de sortie.

  7. Cliquez sur Generated SQL Select query pour afficher l'instruction de la requête à exécuter.

    Cliquez sur OK pour valider les paramètres ELT Map et fermer l'ELT Map Editor.

  8. Dans l'espace de modélisation, double-cliquez sur le composant tELTOracleOutput pour afficher sa vue Basic settings.

    Dans la liste Action on data, sélectionnez MERGE.

    Cliquez sur le bouton Sync columns afin de récupérer le schéma du composant précédent.

    Cochez la case Use Merge Update pour mettre à jour les données via la fonction MERGE d'Oracle.

  9. Dans le tableau qui apparaît, cochez les cases correspondant aux colonnes que vous souhaitez mettre à jour. L'objectif est de mettre à jour les données client en fonction de leur ID. Ainsi, cochez toutes les cases sauf celle correspondant à la colonne ID.

    Avertissement

    Les colonnes définies comme clé primaire ne peuvent pas et ne doivent pas faire l'objet d'une mise à jour.

  10. Cochez la case Use Merge Insert afin d'insérer de nouvelles données lors de la mise à jour des données existantes en utilisant la fonction MERGE d'Oracle.

    Dans le tableau qui apparaît, cochez la case des colonnes dans lesquelles vous souhaitez insérer de nouvelles données.

    Dans ce scénario, vous allez insérer de nouvelles données client. Cochez donc toutes les cases en cliquant sur la case Check All.

  11. Renseignez le champ Default Table Name en saisissant le nom de la table cible déjà existante dans votre base de données. Dans cet exemple, saisissez customers_merge.

  12. Laissez les autres paramètres tels qu'ils sont.

Exécuter le Job

  1. Appuyez sur les touches Ctrl + S pour sauvegarder le Job.

  2. Appuyez sur F6 pour exécuter le Job.

    Les données sont mises à jour et insérées dans la base de données. La requête utilisée est affichée dans la console.