Re: [pgsql-ru-general] Re: [pgsql-ru-general] Возможно ли вставлять в несколько таблиц? - Mailing list pgsql-ru-general

From Dmitriy Igrishin
Subject Re: [pgsql-ru-general] Re: [pgsql-ru-general] Возможно ли вставлять в несколько таблиц?
Date
Msg-id CAAfz9KMJsMKuYENmro9JWNPvH364=z6t-ePQ2eeeJtsk1-_fag@mail.gmail.com
Whole thread Raw
In response to Re: [pgsql-ru-general] Re: [pgsql-ru-general] Возможно ли вставлять в несколько таблиц?  (Sergey Konoplev <gray.ru@gmail.com>)
List pgsql-ru-general


31 октября 2011 г. 13:11 пользователь Sergey Konoplev <gray.ru@gmail.com> написал:
2011/10/31 Dmitriy Igrishin <dmitigr@gmail.com>:
>> Поскольку 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

http://www.postgresql.org/docs/9.1/static/queries-with.html#QUERIES-WITH-MODIFYING
Кстати да! Хорошая альтернатива!

--
// Dmitriy.


pgsql-ru-general by date:

Previous
From: Sergey Konoplev
Date:
Subject: Re: [pgsql-ru-general] Re: [pgsql-ru-general] Возможно ли вставлять в несколько таблиц?
Next
From: Alexey Klyukin
Date:
Subject: Re: [pgsql-ru-general] Возможно ли вставлять в несколько таблиц?