Обсуждение: using Oids to retrieve a row

Поиск
Список
Период
Сортировка

using Oids to retrieve a row

От
"David O'Farrell"
Дата:
anyone know if it is possible to INSERT a row , "save" the oid for this
row and subsequently select it based only on the oid ?

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  David O'Farrell                              AerSoft Limited
  mailto:dave.ofarrell@aersoft.ie              2 Northumberland Avenue,
                                               Dun Laoghaire,Co. Dublin
    Direct Phone 353-1-2145950
               Phone: 01-2301166   Fax: 01-2301167
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Re: [GENERAL] using Oids to retrieve a row

От
Karl DeBisschop
Дата:
are you doing this in psql?

Or perl, php, or some other?

perl and php both have methods for getting the oid of the last
inserted row (use "$oid = $sth->{'pg_oid_status'};"
 in perl and "$oid = pg_GetLastOid($result_id);" in php )
Look at the php documentation, or do 'perldoc DBD::Pg'
to see more details.

I think the postgres documentation for PL/Tcl also
has a quick and simple way of doing what you want, but I can't seem to
find it now so I'm not sure about that.

Karl

Re: [GENERAL] using Oids to retrieve a row

От
Herouth Maoz
Дата:
At 18:32 +0200 on 26/03/1999, Karl DeBisschop wrote:


> are you doing this in psql?
>
> Or perl, php, or some other?
>
> perl and php both have methods for getting the oid of the last
> inserted row (use "$oid = $sth->{'pg_oid_status'};"
>  in perl and "$oid = pg_GetLastOid($result_id);" in php )
> Look at the php documentation, or do 'perldoc DBD::Pg'
> to see more details.

A word of warning, though: retrieving a row by its oid doesn't make
retrieval faster. You have to create an index on the oid column, otherwise
it's plain sequential search. Personally, I prefer defining an indexed
serial field and using currval.

Herouth

--
Herouth Maoz, Internet developer.
Open University of Israel - Telem project
http://telem.openu.ac.il/~herutma