Skip to main content

Exécuter SQL

Exécuter SQL (t_execute_sql) exécute des requêtes SQL sur une base de données externe au milieu d'un pipeline : mise à jour de lignes, appel de procédure, lecture d'enrichissement… Les valeurs du flux d'entrée alimentent la requête via des placeholders.

Ports
Entrées1 flux (in), optionnel : fournit les valeurs des placeholders
Sorties1 flux (out) : les résultats de la requête, ou le flux d'entrée enrichi

Connexion et moteurs​

La brick s'appuie sur une connexion base de données du projet (voir Créer une connexion). Moteurs supportés : PostgreSQL, SQL Server, MySQL et Snowflake. Comme pour toute connexion, chaque environnement du projet porte ses propres identifiants.

Placeholders​

Dans la requête, {colonne} (ou {{colonne}}) référence la valeur d'une colonne du flux d'entrée :

UPDATE clients SET statut = {statut} WHERE id = {client_id}

Les valeurs sont transmises comme paramètres liés, jamais interpolées dans le texte SQL, ce qui neutralise les injections via les données amont.

Modes d'exécution​

Mode (execution_mode)Comportement
Requête unique (single)Exécute la requête une fois. Les placeholders sont alimentés par la première ligne du flux (s'il y en a un).
Une requête par ligne (per_row)Exécute la requête pour chaque ligne du flux, avec ses valeurs.
Requêtes multiples (batch)Le champ SQL contient une requête par ligne de texte (les lignes -- sont ignorées) ; chacune est exécutée une fois.

Paramètres​

ParamètreDéfautDescription
sql_query—La ou les requêtes SQL (requis).
return_resultsfalseSi activé, la sortie contient les résultats de la requête (SELECT). Sinon, le flux d'entrée est retransmis.
error_handlingContinuerEn cas d'erreur : Continuer (marquer l'erreur), Ignorer la ligne (mode par ligne) ou Arrêter le traitement.
success_column—Nom d'une colonne ajoutée avec le statut de succès (vide = désactivé).
error_column—Nom d'une colonne ajoutée avec le message d'erreur (vide = désactivé).
connection_timeout30Timeout de connexion en secondes.

Détails selon le mode :

  • par ligne + résultats : chaque ligne de résultat est fusionnée avec la ligne d'entrée qui a produit la requête ;
  • batch + résultats : les résultats de toutes les requêtes sont empilés, avec une colonne _query_index indiquant la requête d'origine.
note

Cette brick exécute du SQL sur une base externe, y compris des écritures (UPDATE, INSERT, appels de procédures). Pour de simples lectures en début de pipeline, préférez un extracteur Base de données ; pour charger le flux en fin de pipeline, un loader Base de données.