Re: Guidance on INSERT RETURNING order

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Guidance on INSERT RETURNING order
Дата
Msg-id 1608813.1681528629@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Guidance on INSERT RETURNING order  (Federico <cfederico87@gmail.com>)
Ответы Re: Guidance on INSERT RETURNING order  ("David G. Johnston" <david.g.johnston@gmail.com>)
Re: Guidance on INSERT RETURNING order  (Federico <cfederico87@gmail.com>)
Re: Guidance on INSERT RETURNING order  ("Mike Bayer" <mike_mp@zzzcomputing.com>)
Список pgsql-general
Federico <cfederico87@gmail.com> writes:
> Would something like what was proposed by Mike Bayer be considered?

>> A new token called "tuple_order" or something
>>
>> INSERT INTO table (a, b, c) VALUES ((1, 2, 3), (4, 5, 6), ...) RETURNING table.id, inserted.tuple_order
>>
>> tuple_order would be incrementing values 1, 2, 3, 4, 5, ... which correlate the each row delivered by RETURNING to
eachentry in the VALUES clause, in the order they were stated in that VALUES clause, that is entry (1, 2, 3) would be
tuple_order1, entry (4, 5, 6) would be tuple order 2, etc. 

As proposed, I don't think so.  Something over in the RETURNING clause has
exactly no connection to VALUES.  What do you do if it's INSERT ... SELECT
and there are several VALUES clauses down inside the SELECT?

There is some prior art in this area, though.  See the more-or-less
SQL-standard WITH ORDINALITY option for functions-in-FROM.  It seems to me
that it could be plausible to attach WITH ORDINALITY to a VALUES clause,
which would give you a rock-solid connection between the VALUES rows and
the ordinality-column values, and then you could include that column in
RETURNING.

            regards, tom lane



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

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: Guidance on INSERT RETURNING order
Следующее
От: "David G. Johnston"
Дата:
Сообщение: Re: Guidance on INSERT RETURNING order