Re: UPSERT/RETURNING -> ON CONFLICT SELECT?
От | Tom Lane |
---|---|
Тема | Re: UPSERT/RETURNING -> ON CONFLICT SELECT? |
Дата | |
Msg-id | 19806.1468429941@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: UPSERT/RETURNING -> ON CONFLICT SELECT? (Peter Geoghegan <pg@heroku.com>) |
Список | pgsql-hackers |
Peter Geoghegan <pg@heroku.com> writes: > On Wed, Jul 13, 2016 at 2:49 AM, Bjørnar Ness <bjornar.ness@gmail.com> wrote: >> But with upsert/do nothing, this will not work as "needed". >> >> Would it be possible to introduce a "ON CONFLICT SELECT" argument: >> >> with _foo as ( >> insert into foo(i) values(1) >> on conflict select returning id >> ) insert into bar(foo_id,i) >> select id,2 from _foo; > I gather that the point of this pseudo SQL is to show how you might be > able to project and select the values not successfully inserted. Can't > you just pipeline together some CTEs instead? What's "needed" seems a little ill-defined here, anyway. Would the SELECT be expected to return values from the failed-to-be-inserted row, or from the existing conflicting row? (Is there certain to be only one conflicting row? With exclusion constraints I'd think not.) regards, tom lane
В списке pgsql-hackers по дате отправления: