RE:
От | Rainer Mager |
---|---|
Тема | RE: |
Дата | |
Msg-id | NEBBJBCAFMMNIHGDLFKGGENFCAAA.rmager@vgkk.co.jp обсуждение исходный текст |
Ответ на | ... ("Vladimir V. Zolotych" <gsmith@eurocom.od.ua>) |
Список | pgsql-admin |
Does anyone know of a good way to do something similar in Java (JDBC) connected to Postgres? Thanks, --Rainer > -----Original Message----- > From: pgsql-admin-owner@hub.org > [mailto:pgsql-admin-owner@hub.org]On Behalf Of Vladimir V. Zolotych > Sent: Wednesday, April 19, 2000 6:34 PM > To: Andrew Perrin - Demography > Cc: pgsql-admin@postgresql.org > Subject: [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 по дате отправления: