From: | "Ropel" <ropel(at)ropel(dot)it> |
---|---|
To: | "postgre" <pgsql-odbc(at)postgresql(dot)org> |
Subject: | Re: get last oid |
Date: | 2003-12-19 12:06:44 |
Message-ID: | 029501c3c629$d8a09ff0$0100a8c0@ropelxp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
Yes of course, but doing so you have the same old problem: which serial did
you get ??
----- Original Message -----
From: "Shachar Shemesh" <psql(at)shemesh(dot)biz>
To: "Ropel" <ropel(at)ropel(dot)it>
Cc: "postgre" <pgsql-odbc(at)postgresql(dot)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/
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Ropel | 2003-12-19 12:08:50 | Re: get last oid |
Previous Message | Hiroshi Inoue | 2003-12-19 11:52:24 | Re: [patch] CodeGuard fix |