Saya perlu memperbarui tabel dari yang lain, dan saya perlu memperbarui semua kolom. Selain mencantumkan setiap kolom dalam SET
klausa, apakah ada cara untuk memperbarui semuanya sekaligus? Seperti ini:
update tableA
set * = tableB.*
from tableB where tableA.id = tableB.id
Saya mencoba psql, tidak berhasil. Saya harus mendaftar setiap kolom seperti ini:
update tableA
set c1 = tableB.c1, c2 = tableB.c2, ...
from tableB where tableA.id = tableB.id
tableB
dibuat digunakan create .. like tableA
. Jadi mereka pada dasarnya identik. Dan alasan saya melakukannya adalah karena saya perlu memuat data .csv ke tabel temp tableB
dan kemudian memperbarui tableA
berdasarkan data baru di tableB
. tableA
perlu dikunci sesedikit mungkin dan tableA
perlu menjaga integritas. Saya tidak yakin 'hapus lalu masukkan' akan menjadi opsi yang baik?