From: | Shachar Shemesh <psql(at)shemesh(dot)biz> |
---|---|
To: | Ropel <ropel(at)ropel(dot)it> |
Cc: | postgre <pgsql-odbc(at)postgresql(dot)org> |
Subject: | Re: get last oid |
Date: | 2003-12-19 11:38:23 |
Message-ID: | 3FE2E32F.5080303@shemesh.biz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
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 | Hiroshi Inoue | 2003-12-19 11:52:24 | Re: [patch] CodeGuard fix |
Previous Message | sqllist | 2003-12-19 11:22:35 | Re: get last oid |