BERGABUNG MENJADI - Amazon Athena

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

BERGABUNG MENJADI

Secara kondisional memperbarui, menghapus, atau menyisipkan baris ke dalam tabel Apache Iceberg. Sebuah pernyataan tunggal dapat menggabungkan tindakan pembaruan, menghapus, dan menyisipkan.

catatan

MERGE INTObersifat transaksional dan hanya didukung untuk tabel Apache Iceberg di mesin Athena versi 3.

Sinopsis

Untuk memperbarui, menghapus, atau menyisipkan baris secara kondisional dari tabel Iceberg, gunakan sintaks berikut.

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

When_clause adalah salah satu dari berikut ini:

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, ...)

MERGEmendukung sejumlah WHEN klausa yang sewenang-wenang dengan kondisi yang berbeda. MATCHED Klausa kondisi mengeksekusiDELETE, UPDATE atau INSERT operasi dalam WHEN klausa pertama yang dipilih oleh MATCHED status dan kondisi kecocokan.

Untuk setiap baris sumber, WHEN klausa diproses secara berurutan. Hanya WHEN klausa pencocokan pertama yang dieksekusi. Klausul selanjutnya diabaikan. Kesalahan pengguna muncul ketika satu baris tabel target cocok dengan lebih dari satu baris sumber.

Jika baris sumber tidak cocok dengan WHEN klausa apa pun dan tidak ada WHEN NOT MATCHED klausa, baris sumber diabaikan.

Dalam WHEN klausa yang memiliki UPDATE operasi, ekspresi nilai kolom dapat merujuk ke bidang apa pun dari target atau sumber. Dalam NOT MATCHED kasus ini, INSERT ekspresi dapat merujuk ke bidang sumber apa pun.

Contoh

Contoh berikut menggabungkan baris dari tabel kedua ke tabel pertama jika baris tidak ada di tabel pertama. Perhatikan bahwa kolom yang tercantum dalam VALUES klausa harus diawali dengan alias tabel sumber. Kolom target yang tercantum dalam INSERT klausa tidak boleh diawali.

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)

Untuk MERGE INTO contoh lainnya, lihatPerbarui data tabel Gunung Es.