...

Поиск
Список
Период
Сортировка
От Vladimir V. Zolotych
Тема ...
Дата
Msg-id 38FD7D97.A683EE35@eurocom.od.ua
обсуждение исходный текст
Ответы RE:
Список pgsql-admin
> .........  In my case, I used currval().  Basically:
>
> SELECT currval('table_field_seq');
>
> will return the most recently assigned value to the field *by the
> current
> backend* which means:
>
> - There's no danger of a race condition (another user creating a
> record in
> the time between your creating the record and calling currval); BUT
> - You must be using the same backend as you did on the creation.

This is the way I've used before. It seems the the better way
(thanks to  Charles Martin <martin@chasm.org>) is:

1) Do INSERT
    PGresult* res = PQexec(conn, "INSERT......")

2) Get the OID of the just inserted record e.g
    const char* oid = PQoidStatus(res)

3) Select the id of this record:
    res = PQexec(conn, "SELECT id .... WHERE OID=....");



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

Предыдущее
От: Loïc TREGOUËT
Дата:
Сообщение: Postquel?
Следующее
От: "Rainer Mager"
Дата:
Сообщение: RE: