Я пытаюсь сделать что-то подобное в 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)
Но точка 1 невозможна даже с postgres 9.0, как указано в документах (http://www.postgresql.org/docs/9.0/static/sql-update.html)
Также точка 2 кажется неработоспособной. Я получаю следующую ошибку: subquery должен возвращать только один столбец.
Надеюсь, у кого-то есть обходной путь для меня. в противном случае запросы займут время: (.
FYI: Я пытаюсь выбрать разные столбцы из нескольких таблиц и хранить их во временной таблице, так что другое приложение может легко получить подготовленные данные.