Outil Écrire des données en BDD
Utilisez l'outil Écrire des données en BDD pour créer ou mettre à jour une table directement dans la base de données.
Les outils de la catégorie En base de données permettent de fusionner et d'analyser des jeux de données volumineux sans les déplacer de la base de données, avec des performances considérablement supérieures à celles des méthodes d'analyse traditionnelles. Pour plus d'informations sur la catégorie d'outils En base de données, consultez Vue d'ensemble des outils En base de données.
Configuration de l'outil
Mode de sortie : sélectionnez l'option appropriée pour écrire les données. Les choix incluent...
Ajouter à un élément existant : ajoute toutes les données à une table existante. La sortie est constituée d'enregistrements avant et d'enregistrements après.
Supprimer les données et ajouter : supprime tous les enregistrements d'origine de la table, puis ajoute les données à la table existante. Notez que ce mode est différent en fonction de la base de données dans laquelle vous écrivez :
Bases de données Oracle : utilise l'instruction DELETE.
Bases de données SQL Server : utilise l'instruction TRUNCATE TABLE, car il s'agit d'une méthode plus efficace. Vous avez besoin des autorisations ALTER table ou TRUNCATE sur la table.
Écraser la table (supprimer) : supprime définitivement la table existante et en crée une autre.
Créer une nouvelle table : crée une nouvelle table. Aucune table existante n'est écrasée.
Créer une table temporaire : écrit dans une table temporaire disponible jusqu'à la fin de la session. Cette option est utile pour créer des macros prédictives en BDD, car les métadonnées sont préservées de manière temporaire. Si cette option est sélectionnée, le champ Nom de table est désactivé et affiche « [un nom de table temporaire unique est généré à chaque exécution] ».
Mettre à jour les lignes : met à jour les lignes existantes d'une table en fonction des enregistrements entrants.
Supprimer les lignes : supprime les lignes existantes d'une table en fonction des enregistrements entrants.
Fusionner les tables : fusionne les données entrantes avec la table spécifiée dans l'outil. Cette option permet la suppression et la mise à jour en fonction des champs de fusion sélectionnés.
Nom de table : entrez le nom de la table de base de données à créer ou à mettre à jour.
Ajouter une affectation des champs (ou Carte de champ SET lorsque Mettre à jour les lignes est le mode de sortie sélectionné) : cette zone devient active lorsque l'option Ajouter à un élément existant ou Supprimer les données et ajouter est sélectionnée ci-dessus.
Sélectionnez un mode de configuration :
Configuration auto par nom : aligne les champs selon leur nom.
Configuration automatique par position : aligne les champs selon leur ordre dans le flux.
Lorsque les champs sont différents : sélectionnez la façon dont traiter les champs de données non conformes dans les options à l'aide de la liste déroulante.
Erreur - Arrêter le traitement : émet une erreur dans la fenêtre Résultats et arrête le traitement.
Sortie des champs applicables : tous les champs applicables sont inclus. Des valeurs nulles remplissent les champs vides.
Options : cette zone devient active lorsque l'option Mettre à jour les lignes ou Supprimer les lignes est sélectionnée comme mode de sortie.
Carte de champ WHERE : cela forme l'instruction conditionnelle pour le mode de sortie Mettre à jour les lignes et Supprimer les lignes.
Limites
Les options de mise à jour/suppression de sortie ne prennent actuellement pas en charge les alias de colonne.
L'option de mise à jour de sortie requiert actuellement que tous les noms de champ correspondent aux noms de champ de la table cible, pour l'option Configuration automatique par nom - Ajouter une affectation des champs, et que le nombre de champs corresponde au nombre de champs de la table cible, pour l'option Configuration automatique par position - Ajouter une affectation des champs.
La mise à jour/suppression n'est actuellement prise en charge que pour les connexions ODBC SQL Server.
Les options Mettre à jour/Supprimer la sortie ne prennent actuellement pas en charge la mise à jour ou la suppression de valeurs nulles. Les opérateurs de comparaison (tels que
=
ou!=
) utilisés pour les requêtes de mise à jour et de suppression Alteryx, renvoient « inconnu » pour les valeurs nulles. Pour plus d'informations, consultez la documentation Microsoft SQL Server.Lors de l'ajout de données à l'aide de l'outil Écrire en BDD, toutes les colonnes de la table cible doivent être incluses dans l'instruction INSERT pour que INSERT soit valide. Les colonnes manquantes seront ajoutées avec une valeur NULLE.
L'outil Fusionner en BDD est uniquement pris en charge pour Databricks Unity Catalog.
Structure de requête
Vous trouverez ci-dessous des exemples de requêtes pour les options Mettre à jour les lignes et Supprimer les lignes pour le mode de sortie :
Mettre à jour les lignes
WITH upstream AS ( ... ) UPDATE t SET t.col2 = (SELECT col2 FROM upstream u WHERE u.col1 = t.col1 AND ...), ... FROM target_ t WHERE EXISTS ( SELECT * FROM upstream u WHERE u.col1 = t.col1 AND ... )
Supprimer les lignes
WITH upstream AS ( ... ) DELETE t from target_ t WHERE EXISTS ( SELECT * FROM upstream u WHERE u.col1 = t.col1 AND ... )