Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
MERGE INTO
Secara kondisional memperbarui, menghapus, atau menyisipkan baris ke dalam tabel Iceberg. Sebuah pernyataan tunggal dapat menggabungkan tindakan pembaruan, menghapus, dan menyisipkan. Untuk sintaks, lihat BERGABUNG MENJADI.
catatan
MERGE INTO
bersifat transaksional dan hanya didukung untuk tabel Apache Iceberg di mesin Athena versi 3.
Contoh berikut menghapus semua pelanggan dari tabel t
yang ada di tabel s
sumber.
MERGE INTO accounts t USING monthly_accounts_update s ON t.customer = s.customer WHEN MATCHED THEN DELETE
Contoh berikut memperbarui tabel target t
dengan informasi pelanggan dari tabel sumbers
. Untuk baris pelanggan dalam tabel t
yang memiliki baris pelanggan yang cocok dalam tabels
, contoh menambah pembelian dalam tabel t. Jika tabel t
tidak cocok untuk baris pelanggan dalam tabels
, contoh menyisipkan baris pelanggan dari tabel s
ke dalam tabelt
.
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)
Contoh berikut secara kondisional memperbarui tabel target t
dengan informasi dari tabel s
sumber. Contoh menghapus setiap baris target yang cocok yang alamat sumbernya adalah Centreville. Untuk semua baris lain yang cocok, contoh menambahkan pembelian sumber dan menetapkan alamat target ke alamat sumber. Jika tidak ada kecocokan dalam tabel target, contoh menyisipkan baris dari tabel sumber.
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)