Re: get last oid

Поиск
Список
Период
Сортировка
От denis@coralindia.com
Тема Re: get last oid
Дата
Msg-id 001301c3c612$d91d6880$0f32a8c0@denisnew
обсуждение исходный текст
Ответ на get last oid  ("Ricky" <ricky@babonmultimedia.com>)
Список 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 по дате отправления:

Предыдущее
От: "Ricky"
Дата:
Сообщение: add some word in select
Следующее
От: Michael Ziehensack
Дата:
Сообщение: psqlodbc30w.dll: wrong string termination after SQLFetch for SQL_C_WCHAR buffer bound via SQLBindCol