Estoy tratando de hacer algo como esto en 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)
Pero el punto 1 no es posible incluso con postgres 9.0 como se menciona en los documentos ( http://www.postgresql.org/docs/9.0/static/sql-update.html )
Además, el punto 2 parece no funcionar. Recibo el siguiente error: la subconsulta debe devolver solo una columna.
Espero que alguien tenga una solución para mí. de lo contrario, las consultas tomarán mucho tiempo :(.
FYI: Estoy tratando de seleccionar diferentes columnas de varias tablas y almacenarlas en una tabla temporal, para que otra aplicación pueda recuperar fácilmente los datos preparados.