---
title: "Exécuter des instructions SQL avec l'action SQL"
description: "L'action SQL vous permet d'écrire une requête SQL et de l'exécuter sur vos datasets et tables en tant qu'action du Data Processing Engine"
url: https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/dpe-actions-sql
lang: fr
lastUpdated: 2026-09-14
---
> For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt.

# Exécuter des instructions SQL avec l'action SQL

## Objectif

L'action _SQL_ vous permet d'écrire une requête SQL et de l'exécuter sur vos datasets et tables en tant qu'action du Data Processing Engine. Comme toute autre action, elle peut être exécutée à la demande, planifiée avec un déclencheur cron, ou orchestrée au sein d'un [workflow](https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/dpe-workflows.md).

Les requêtes s'exécutent sur le moteur **Trino** sous-jacent, les tables sont donc désignées sous la forme complète `catalog.schema.table`. Le panneau Tables (voir ci-dessous) construit ces noms pour vous, vous n'avez donc rarement besoin de les saisir à la main.

Par défaut, une action SQL s'exécute sur 2 DPU ; vous pouvez ajuster l'allocation depuis le sélecteur de ressources en haut de l'écran de configuration.

![Vue d'ensemble de l'action Sql](/images/public-cloud/data-platform/product/dpe/actions/sql/picts/sql-action-overview.png)
## Configurer une action SQL

L'écran de configuration comporte deux panneaux : le navigateur **Tables** à gauche pour vous aider à trouver et référencer des ressources, et l'éditeur **SQL query** à droite où vous écrivez et validez votre instruction.

### Parcourir les tables et copier les noms

Le panneau **Tables** liste les datasets de votre projet, chacun pouvant être développé pour afficher ses tables et leurs attributs. Utilisez la zone de recherche pour localiser rapidement une ressource, puis cliquez dessus pour copier son nom dans le presse-papiers, mis en forme pour s'insérer directement dans votre requête :

| Élément cliqué | Ce qui est copié                                                                                         |
| -------------- | -------------------------------------------------------------------------------------------------------- |
| **Dataset**    | `catalog.schema` : le catalog et le schema dont Trino a besoin pour résoudre les tables de ce dataset.   |
| **Table**      | Le nom complet `catalog.schema.table`, prêt à être utilisé directement dans une clause `FROM` ou `JOIN`. |
| **Attribute**  | Le nom de l'attribut (colonne) uniquement.                                                               |

![Parcourir les tables et copier les noms — Sql action tables panel](/images/public-cloud/data-platform/product/dpe/actions/sql/picts/sql-action-tables-panel.png)
Cela vous évite d'avoir à retenir comment chaque dataset correspond à son catalog et à son schema Trino, et aide le moteur à résoudre votre requête du premier coup.

### Écrire et valider la requête

Saisissez votre requête dans l'éditeur **SQL query**. Si vous avez besoin d'un point de départ, ouvrez le tiroir **Query examples** en bas de la page et cliquez sur n'importe quel exemple pour le copier dans l'éditeur.

Une fois votre requête prête, cliquez sur **Validate**. Cela exécute la requête en mode simulation et, en cas de succès, affiche un **résumé de validation** en bas de l'éditeur : une version enrichie d'`EXPLAIN` qui vous indique ce que la requête va faire, avec les détails clés pour ce type de requête.

![Écrire et valider la requête — Sql action validation summary](/images/public-cloud/data-platform/product/dpe/actions/sql/picts/sql-action-validation-summary.png)
:::info
**Validate** ne conditionne pas la création. Le bouton **Create** est toujours disponible, mais valider au préalable est une bonne pratique : cela confirme que la requête est bien formée et se résout correctement sur vos tables avant de valider l'action.
:::

Lorsque vous êtes satisfait, cliquez sur **Create** en haut à droite pour créer l'action.

## Types de requêtes pris en charge

L'action SQL prend en charge un large éventail d'instructions. Le moteur reconnaît le type de chaque requête et se comporte en conséquence :

- **Read :** retourne des lignes sans rien modifier.
- **Metadata :** inspecte le schéma ou les plans de requête.
- **DML :** modifie les lignes d'une table.
- **DDL :** modifie la structure d'une table.

Sélectionnez un onglet ci-dessous pour voir un exemple de requête pour chaque type :


**Read**

```sql
SELECT *
FROM catalog.schema.orders
WHERE status = 'OPEN';
```


**Metadata**

```sql
SHOW COLUMNS FROM catalog.schema.orders;
```


**DML**

```sql
UPDATE catalog.schema.orders
SET status = 'CLOSED'
WHERE id = 42;
```


**DDL**

```sql
ALTER TABLE catalog.schema.orders
ADD COLUMN note VARCHAR;
```


:::warning
Les instructions de contrôle d'accès telles que `GRANT` et `REVOKE` ne sont pas prises en charge et seront rejetées lors de la validation.
:::

## Créer une table à partir d'une requête

Lorsque vous exécutez un `SELECT`, l'action propose l'option de **créer une nouvelle table** à partir du résultat de la requête.

![Créer une table à partir d'une requête — Sql action create table](/images/public-cloud/data-platform/product/dpe/actions/sql/picts/sql-action-create-table.png)
Si vous créez et exécutez une action avec un `CREATE TABLE AS SELECT` (CTAS), ou toute autre instruction `CREATE`, la table est créée sur le dataset cible, et la table logique correspondante est également enregistrée et construite dans le [Lakehouse Manager](https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/lakehouse-manager-tables.md). La nouvelle table est alors disponible dans toute la platform comme n'importe quelle autre table du Lakehouse Manager.

![Créer une table à partir d'une requête — Sql action create table next](/images/public-cloud/data-platform/product/dpe/actions/sql/picts/sql-action-create-table_next.png)
## Validation à l'exécution

La validation n'a pas lieu uniquement lors de l'écriture de la requête. **À chaque exécution de l'action**, la requête est revalidée avec `EXPLAIN` avant que toute instruction ne soit exécutée.

Cela permet de détecter les cas où la requête ne correspond plus à la table. Par exemple, si une colonne référencée par la requête a été renommée ou supprimée parce que le schéma de la table a changé depuis la création de l'action, la validation à l'exécution échoue et l'action est arrêtée avant d'exécuter quoi que ce soit, afin qu'une requête obsolète ne puisse pas s'exécuter sur une table incompatible et corrompre vos données.

:::info
Comme la validation s'exécute avant l'exécution à chaque lancement, une action SQL qui échoue soudainement à la validation est souvent le signe qu'une table en amont a changé. Vérifiez le schéma de la table avant de mettre à jour la requête.
:::

## Utiliser le mode avancé

Si vous devez accéder au fichier de configuration JSON de l'action, activez le mode Advanced en cliquant sur **Advanced** en haut de la page.

![Utiliser le mode avancé — Sql action advanced mode](/images/public-cloud/data-platform/product/dpe/actions/sql/picts/sql-action-advanced-mode.png)
## Aller plus loin

Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur [ce lien](https://www.ovhcloud.com/fr/professional-services/) pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.

Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe la Data Platform sur le [canal Discord](https://discord.gg/ovhcloud) dédié.

Si vous avez besoin d'une assistance concernant vos services OVHcloud, créez une demande depuis notre [centre d'aide](https://help.ovhcloud.com/csm?id=csm_get_help).

Rejoignez notre [communauté d'utilisateurs](https://community.ovhcloud.com/).
