Yes of course, but doing so you have the same old problem: which serial did
you get ??
----- Original Message -----
From: "Shachar Shemesh" <psql@shemesh.biz>
To: "Ropel" <ropel@ropel.it>
Cc: "postgre" <pgsql-odbc@postgresql.org>
Sent: Friday, December 19, 2003 12:38 PM
Subject: Re: [ODBC] get last oid
> Ropel wrote:
>
> >... In a well designed relational Db, every table has a (unique) primary
> >key: if so, you don't even need to
> >know the oid, because the record just inserted is directly reachable
using
> >the PK.
> >If your PK uses sequences, you have to get the next seq value "select
> >nextval() from seq_xxxxx..." and use the
> >value obtained for inserting your new row instead of using it as a
default
> >value; this way you are protected from
> >concurrent writing to the DB.
> >
> >If you REALLY need the oid from the ODBC connection, I can't help...
sorry !
> >
> >Bye
> >
> >Roberto
> >
> >
> >
> Actually, if you created the sequence implicitly by using the "serial"
> type, you don't even have to do that. You can simply do this:
> creating the table:
> create table foo (index serial not null, a type, b type.....);
> inserting into the table:
> insert into foo (a,b,....)....
>
> I.e. - leave the serial field out of the insert, and it will
> automatically be set to the next sequence from the table.
>
> --
> Shachar Shemesh
> Open Source integration & consulting
> Home page & resume - http://www.shemesh.biz/
>
>
>