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)