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

From: Sergey Konoplev <gray(dot)ru(at)gmail(dot)com>
To: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
Cc: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>, pgsql-ru-general(at)postgresql(dot)org
Subject: Re: [pgsql-ru-general] Re: [pgsql-ru-general] Возможно ли вставлять в несколько таблиц?
Date: 2011-10-31 09:11:55
Message-ID: CAL_0b1tALwibdvQONQPwJDoaYwvwj7L6OXB99v6aQ3+qTw_=Kg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

2011/10/31 Dmitriy Igrishin <dmitigr(at)gmail(dot)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

--
Sergey Konoplev

Blog: http://gray-hemp.blogspot.com /
Linkedin: http://ru.linkedin.com/in/grayhemp /
JID/GTalk: gray(dot)ru(at)gmail(dot)com / Skype: gray-hemp

In response to

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Dmitriy Igrishin 2011-10-31 09:20:16 Re: [pgsql-ru-general] Re: [pgsql-ru-general] Возможно ли вставлять в несколько таблиц?
Previous Message Dmitriy Igrishin 2011-10-31 08:25:57 Re: [pgsql-ru-general] Возможно ли вставлять в несколько таблиц?