Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

MERGE INTO

Mode de mise au point
MERGE INTO - Amazon Athena

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Mise à jour, suppression ou insertion conditionnelle de lignes dans une table  Apache Iceberg. Une seule instruction peut combiner des actions de mise à jour, de suppression et d'insertion.

Note

MERGE INTO est transactionnel et n'est pris en charge que pour les tables Apache Iceberg dans la version 3 du moteur Athena.

Résumé

Pour mettre à jour, supprimer ou insérer de manière conditionnelle des lignes d'une table Iceberg, utilisez la syntaxe suivante.

MERGE INTO target_table [ [ AS ] target_alias ] USING { source_table | query } [ [ AS ] source_alias ] ON search_condition when_clause [...]

when_clauseIl s'agit de l'un des suivants :

WHEN MATCHED [ AND condition ] THEN DELETE
WHEN MATCHED [ AND condition ] THEN UPDATE SET ( column = expression [, ...] )
WHEN NOT MATCHED [ AND condition ] THEN INSERT (column_name[, column_name ...]) VALUES (expression, ...)

MERGE prend en charge un nombre arbitraire de clauses WHEN avec des conditions MATCHED différentes. Les clauses de condition exécutent l'opération DELETE, UPDATE ou INSERT dans la première clause WHEN sélectionnée par l'état MATCHED et la condition de correspondance.

Pour chaque ligne source, les clauses WHEN sont traitées dans l'ordre. Seule la première clause WHEN correspondante est exécutée. Les clauses suivantes sont ignorées. Une erreur utilisateur est signalée lorsqu'une seule ligne de la table cible correspond à plus d'une ligne source.

Si une ligne source ne correspond à aucune clause WHEN et qu'il n'y a pas de clause WHEN NOT MATCHED, la ligne source est ignorée.

Dans les clauses WHEN qui comportent des opérations UPDATE, les expressions de valeur de colonne peuvent renvoyer à n'importe quel champ de la cible ou de la source. Dans le cas de NOT MATCHED, les expressions INSERT peuvent renvoyer à n'importe quel champ de la source.

exemple

L'exemple suivant fusionne les lignes de la deuxième table dans la première table si elles n'existent pas dans la première table. Notez que les colonnes répertoriées dans la clause VALUES doivent être préfixées par l'alias de la table source. Les colonnes cibles répertoriées dans la clause INSERT ne doivent pas être préfixées.

MERGE INTO iceberg_table_sample as ice1 USING iceberg2_table_sample as ice2 ON ice1.col1 = ice2.col1 WHEN NOT MATCHED THEN INSERT (col1) VALUES (ice2.col1)

Pour obtenir plus d'exemples MERGE INTO, consultez Mettre à jour les données de la table Iceberg.

Sur cette page

Rubrique suivante :

OPTIMIZE

Rubrique précédente :

UPDATE
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.