Re: get last oid - Mailing list pgsql-odbc

From sqllist
Subject Re: get last oid
Date
Msg-id 006201c3c622$682a5ba0$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:

Previous
From: Shachar Shemesh
Date:
Subject: Re: get last oid
Next
From: "Hiroshi Inoue"
Date:
Subject: Re: [patch] CodeGuard fix