[prev in list] [next in list] [prev in thread] [next in thread] 

List:       postgresql-admin
Subject:    RE: [ADMIN]
From:       "Rainer Mager" <rmager () vgkk ! co ! jp>
Date:       2000-04-19 11:41:58
[Download RAW message or body]


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=....");
>
>
>

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic