Re: INSERT doc discrepancy

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: INSERT doc discrepancy
Дата
Msg-id 20070828125844.GG7962@alvh.no-ip.org
обсуждение исходный текст
Ответ на INSERT doc discrepancy  (Kristo Kaiv <kristo.kaiv@skype.net>)
Ответы Re: INSERT doc discrepancy
Список pgsql-general
Kristo Kaiv wrote:
> INSERT INTO table [ ( column [, ...] ) ]
>     { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...]
> | query }
>     [ RETURNING * | output_expression [ AS output_name ] [, ...] ]
>
> but it seems if i want to return the result into a record i have to use it
> with INTO clause in the end:
>
>         INSERT INTO tablename (
>              a
>             ,b
>             ,c
>         ) VALUES (
>              in_a
>             ,in_b
>             ,in_c
>         ) RETURNING * INTO _r;

Where's the discrepancy?  INTO is not supported in the RETURNING clause.

... thinks for a while ...

Ah, you are using it in plpgsql!  OK, but the explanation to the
discrepancy is that the second INTO is not part of the SQL sentence;
it's plpgsql only, and is parsed by its internal parser, so not really
part of the SQL grammar.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

В списке pgsql-general по дате отправления:

Предыдущее
От: Josh Trutwin
Дата:
Сообщение: Indexing Foreign Key Columns
Следующее
От: Michael Glaesemann
Дата:
Сообщение: Re: delete vs insert vs update due to primary key dups -> which is better