Saya mencoba melakukan sesuatu seperti ini di postgres:
UPDATE table1 SET (col1, col2) = (SELECT col2, col3 FROM othertable WHERE othertable.col1 = 123);
INSERT INTO table1 (col1, col2) VALUES (SELECT col1, col2 FROM othertable)
Tetapi poin 1 tidak dimungkinkan bahkan dengan postgres 9.0 seperti yang disebutkan di dokumen ( http://www.postgresql.org/docs/9.0/static/sql-update.html )
Juga poin 2 sepertinya tidak berfungsi. Saya mendapatkan kesalahan berikut: subquery harus mengembalikan hanya satu kolom.
Semoga ada yang punya solusi untuk saya. jika tidak, kueri akan memakan waktu lama :(.
FYI: Saya mencoba memilih kolom yang berbeda dari beberapa tabel dan menyimpannya ke dalam tabel sementara, sehingga aplikasi lain dapat dengan mudah mengambil data yang disiapkan.