Re: return column id from insert

Поиск
Список
Период
Сортировка
От Josh Berkus
Тема Re: return column id from insert
Дата
Msg-id web-1822663@davinci.ethosmedia.com
обсуждение исходный текст
Ответ на return column id from insert  (Rory Campbell-Lange <mail@campbell-lange.net>)
Ответы Re: return column id from insert
Список pgsql-novice
Rory,

> The issue is this:
> I need to make a database insert and then make an image with the
> resulting column id number, which is provided by a sequence.

I think you mean "primary key" or "row id", not "column id".   There is
no "column id".

> This has to be a single action, otherwise I could fall into a race
> condition with another insert going on concurrently.

No, you can't.  PostgreSQL sequences are guarenteed 100% unique
regardless of concurrent updates.   Simply put:

BEGIN TRANSACTION;
INSERT INTO some_table ( columns )
VALUES ( values);
SELECT CURRVAL('some_table_seq');
COMMIT TRANSACTION;

Easy, no?

Now please go read the online docs, or better yet, buy an introductory
PostgreSQL book.   There's a lot to learn.

-Josh Berkus






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

Предыдущее
От: "YC Nyon"
Дата:
Сообщение: Re: SQL statement to copy a result set to create another table.
Следующее
От: "Devinder K Rajput"
Дата:
Сообщение: Re: SQL statement to copy a result set to create