From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | EDgp <egonpin(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: PostgreSql - PHP |
Date: | 2005-01-31 23:11:32 |
Message-ID: | 20050131231132.GA9750@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Mon, Jan 31, 2005 at 04:46:41PM -0500, EDgp wrote:
> Tengo una duda cuando se inserta un registro ( INSERT ), se ven
> afectadas las variables FOUND OID y TUPLES, con "pg_last_oid" puedo
> regresar el oid que fue asignado al nuevo registro que se agrego, pero
> como hago para saber a que Tabla pertenece ese OID hay algun comando
> que me devuelva el OID de la tabla???
>
> Lo que pasa es que no puedo saber a que tabla le hice el insert por
> que viene de otro programa en PHP y quiero controlar dicho programa
> sin meterle mucho la mano al mismo
Creo que la idea es impracticable en general. Que pasa si la tabla no
tiene OIDs?
Sospecho que la posibilidad que tienes es usar secuencias, la funcion
nextval(), un poco de hurgar en los catalogos del sistema, y modificar
el programa original. Con eso puedes obtener el id del registro que
acabas de insertar. Para mas detalles, busca en los archivos de
pgsql-general un thread con el titulo "OID Usage", alrededor del 14 de
enero.
FWIW, la idea de controlar un programa sin modificarlo (y sin estar
usando un debugger) me parece completamente esquizofrenica. IMHO. YMMV.
YHBT. HAND. HTH,
--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"La grandeza es una experiencia transitoria. Nunca es consistente.
Depende en gran parte de la imaginación humana creadora de mitos"
(Irulan)
From | Date | Subject | |
---|---|---|---|
Next Message | Roberto Andrade Fonseca | 2005-02-01 01:10:44 | Re: hojas de calculo |
Previous Message | Jaime Casanova | 2005-01-31 22:23:50 | Re: hojas de calculo |