Re: get last oid - Mailing list pgsql-odbc
From | denis@coralindia.com |
---|---|
Subject | Re: get last oid |
Date | |
Msg-id | 001301c3c612$d91d6880$0f32a8c0@denisnew Whole thread Raw |
In response to | get last oid ("Ricky" <ricky@babonmultimedia.com>) |
List | pgsql-odbc |
Hi Ricky, There is a work around for this... 1. Create a LOCAL TEMPORARY table. 2. On the MAIN table, put a trigger to store NEW.oid in that TEMPORARY table. 3. On your VB application, Fetch OID from that TEMP table. Since, the local temporary table's data is visible to specific to session, each session will get their OID even if "n" numbers of users are inserting data in that table at a time.. HTH Thanx Denis ----- Original Message ----- From: "Ropel" <ropel@ropel.it> To: "postgre" <pgsql-odbc@postgresql.org> Sent: Friday, December 19, 2003 2:32 PM Subject: Re: [ODBC] get last oid > ... 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 > > ----- Original Message ----- > From: "Ricky" <ricky@babonmultimedia.com> > To: "postgre" <pgsql-odbc@postgresql.org> > Sent: Friday, December 19, 2003 9:25 AM > Subject: Re: [ODBC] get last oid > > > > thanks Roberto, > > > > i'm new in vb and also in postgresql, > > well, if there'no function to get the last oid, how to catch the message > > INSERT 2237168 1 in visual basic ? > > > > if no, maybe i have to try to select the bigest oid to get it but i'm > > affraid while somebody insert in the same time, the oid will not match. > > > > you have suggestion about this? > > > > BR > > > > Ricky > > > > > > ----- Original Message ----- > > From: "Ropel" <ropel@ropel.it> > > To: "postgre" <pgsql-odbc@postgresql.org> > > Sent: Friday, December 19, 2003 3:20 PM > > Subject: Re: [ODBC] get last oid > > > > > > > PHP uses "pg_last_oid() ": a reliable way because it work's at > connection > > > level (i.e. it will not be affected > > > by inserts made from other tasks or connections . > > > I'd try searching starting from there for a solution without php: every > > > other language i've seen has an equivalent solution. > > > > > > With "psql" you have: > > > > > > postgres=# insert into cars(name) values('lamborghini'); > > > INSERT 2237168 1 > > > > > > where 2237168 is the oid... > > > > > > I hope it willl help... > > > > > > Roberto > > > > > > > > > ----- Original Message ----- > > > From: "Ricky" <ricky@babonmultimedia.com> > > > To: "postgre" <pgsql-odbc@postgresql.org> > > > Sent: Friday, December 19, 2003 1:05 AM > > > Subject: [ODBC] get last oid > > > > > > > > > > hello, > > > > > > > > i try get the last oid after INSERT command but i have no idea about > > > > command/function > > > > .anyone know or is there any better method? > > > > > > > > Thanks > > > > Ricky > > > > > > > > > > > > ---------------------------(end of > broadcast)--------------------------- > > > > TIP 4: Don't 'kill -9' the postmaster > > >
pgsql-odbc by date: