>> Поскольку INSERT - SELECT работает то возникает соблазн написать >> INSERT INTO table2 (table1_id, name) >> INSERT INTO table1 (a, b) VALUES (1, 2) RETURNING "id", '123' AS "name" >> >> Но такая запись не работает. Говорит что синтаксическая ошибка на >
> RETURNING ... не тоже самое, что SELECT ..., поэтому так > делать нельзя. Добиться желаемого эффекта можно > поместив INSERT ... RETURNING в функцию, возвращающую > требуемый набор столбцов (или композитный тип).
Если 9.1, то для этого ещё можно использовать WITH с DML