Re: get last oid

From: denis(at)coralindia(dot)com
To: "postgre" <pgsql-odbc(at)postgresql(dot)org>
Subject: Re: get last oid
Date: 2003-12-19 09:31:13
Message-ID: 001301c3c612$d91d6880$0f32a8c0@denisnew
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)ropel(dot)it>
To: "postgre" <pgsql-odbc(at)postgresql(dot)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(at)babonmultimedia(dot)com>
> To: "postgre" <pgsql-odbc(at)postgresql(dot)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(at)ropel(dot)it>
> > To: "postgre" <pgsql-odbc(at)postgresql(dot)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(at)babonmultimedia(dot)com>
> > > To: "postgre" <pgsql-odbc(at)postgresql(dot)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
> > >

In response to

Browse pgsql-odbc by date

  From Date Subject
Next Message sqllist 2003-12-19 11:22:35 Re: get last oid
Previous Message Ropel 2003-12-19 09:02:57 Re: get last oid