From: | Dmitriy Igrishin <dmitigr(at)gmail(dot)com> |
---|---|
To: | Sergey Konoplev <gray(dot)ru(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:20:16 |
Message-ID: | CAAfz9KMJsMKuYENmro9JWNPvH364=z6t-ePQ2eeeJtsk1-_fag@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
31 октября 2011 г. 13:11 пользователь Sergey Konoplev
<gray(dot)ru(at)gmail(dot)com>написал:
> 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
>
Кстати да! Хорошая альтернатива!
--
// Dmitriy.
From | Date | Subject | |
---|---|---|---|
Next Message | Alexey Klyukin | 2011-10-31 09:28:29 | Re: [pgsql-ru-general] Возможно ли вставлять в несколько таблиц? |
Previous Message | Sergey Konoplev | 2011-10-31 09:11:55 | Re: [pgsql-ru-general] Re: [pgsql-ru-general] Возможно ли вставлять в несколько таблиц? |