Melakukan operasi penggabungan dengan mengganti baris yang ada - Amazon Redshift

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 menjatuhkan tabel pementasan sementara dalam satu transaksi. Transaksi bergulir kembali jika ada langkah yang gagal. Menggunakan satu transaksi juga mengurangi jumlah komit, yang menghemat waktu dan sumber daya.

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

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

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

    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;