View a markdown version of this page

Melakukan operasi penggabungan dengan mengganti baris yang ada - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog yang diterbitkan pada 30 Juni 2025.

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

Melakukan operasi penggabungan dengan mengganti baris yang ada

Saat Anda menjalankan operasi penggabungan yang dirinci dalam prosedur, letakkan semua langkah kecuali untuk membuat dan melepaskan tabel pementasan sementara dalam satu transaksi. Transaksi akan kembali jika ada langkah yang gagal. Menggunakan satu transaksi juga mengurangi jumlah commit, yang menghemat waktu dan sumber daya.

Untuk melakukan operasi penggabungan dengan mengganti baris yang ada
  1. Buat tabel pementasan, lalu isi dengan data yang akan digabungkan, seperti yang ditunjukkan dalam pseudocode berikut.

    CREATE temp table stage (like target); INSERT INTO stage SELECT * FROM source WHERE source.filter = 'filter_expression';
  2. Gunakan MERGE untuk melakukan join internal dengan tabel pementasan untuk memperbarui baris dari tabel target yang cocok dengan tabel pementasan, lalu masukkan semua baris yang tersisa ke tabel target yang tidak cocok dengan tabel pementasan.

    Kami menyarankan Anda menjalankan operasi pembaruan dan menyisipkan dalam satu perintah MERGE.

    MERGE INTO target USING stage [optional alias] on (target.primary_key = stage.primary_key) WHEN MATCHED THEN UPDATE SET col_name1 = stage.col_name1 , col_name2= stage.col_name2, col_name3 = {expr} WHEN NOT MATCHED THEN INSERT (col_name1 , col_name2, col_name3) VALUES (stage.col_name1, stage.col_name2, {expr});
  3. Jatuhkan meja pementasan.

    DROP TABLE stage;