MERGE INTO - Amazon Athena

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

MERGE INTO

Aggiorna, elimina o inserisce in modo condizionale righe in una tabella Iceberg. Una singola istruzione può combinare operazioni di aggiornamento, eliminazione e inserimento. Per la sintassi, consulta MERGE INTO.

Nota

L'istruzione MERGE INTO è transazionale ed è supportata solo per le tabelle Apache Iceberg nella versione 3 del motore Athena.

L'esempio seguente elimina tutti i clienti dalla tabella t che si trova nella tabella di origine s.

MERGE INTO accounts t USING monthly_accounts_update s ON t.customer = s.customer WHEN MATCHED THEN DELETE

L'esempio seguente aggiorna la tabella di destinazione t con le informazioni sui clienti dalla tabella di origine s. Per le righe dei clienti nella tabella t che contengono righe relative ai clienti nella tabella s, l'esempio incrementa gli acquisti nella tabella t. Se la tabella t non corrisponde a una riga del cliente nella tabella s, l'esempio inserisce la riga del cliente dalla tabella s nella tabella t.

MERGE INTO accounts t USING monthly_accounts_update s ON (t.customer = s.customer) WHEN MATCHED THEN UPDATE SET purchases = s.purchases + t.purchases WHEN NOT MATCHED THEN INSERT (customer, purchases, address) VALUES(s.customer, s.purchases, s.address)

L'esempio seguente aggiorna in modo condizionale la tabella di destinazione t con le informazioni dalla tabella di origine s. L'esempio elimina qualsiasi riga di destinazione corrispondente il cui indirizzo di origine è Centreville. Per tutte le altre righe corrispondenti, l'esempio aggiunge gli acquisti di origine e imposta l'indirizzo di destinazione sull'indirizzo di origine. Se non c'è alcuna corrispondenza nella tabella di destinazione, l'esempio inserisce la riga dalla tabella di origine.

MERGE INTO accounts t USING monthly_accounts_update s ON (t.customer = s.customer) WHEN MATCHED AND s.address = 'Centreville' THEN DELETE WHEN MATCHED THEN UPDATE SET purchases = s.purchases + t.purchases, address = s.address WHEN NOT MATCHED THEN INSERT (customer, purchases, address) VALUES(s.customer, s.purchases, s.address)