From: | Alvaro Herrera <alvherre(at)surnet(dot)cl> |
---|---|
To: | Daniel Alvarado <danielal2(at)yahoo(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Ayuda con tablas temporales |
Date: | 2005-06-22 17:57:39 |
Message-ID: | 20050622175739.GB26102@surnet.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Wed, Jun 22, 2005 at 09:22:21AM -0700, Daniel Alvarado wrote:
> Que tal lista.
> Tengo un problema con tablas temporales
> Tengo esta funcion
Hola, el problema es que plpgsql guarda un "cache" de la ejecucion
de la funcion. En la primera ejecucion, se "calcula" este cache y se
guarda el OID de la tabla temporal que acabas de crear. En la siguiente
iteracion se usa ese cache, que lleva el OID guardado, y al tratar de
ejecutar el "insert into" y el "select" se usa ese OID; pero como
creaste la tabla otra vez, la nueva tabla ya no tiene el mismo OID y por
lo tanto falla.
Una manera de hacer que esto funcione es poner esas dos sentencias en
strings, y luego usar EXECUTE con ellos.
Si, es mucho mas engorroso. Hay gente trabajando en este tema, pero no
hay codigo listo todavia para solucionar este problema. Esperemos que
para 8.2 ...
--
Alvaro Herrera (<alvherre[a]surnet.cl>)
"Y eso te lo doy firmado con mis lágrimas" (Fiebre del Loco)
From | Date | Subject | |
---|---|---|---|
Next Message | Jimmy Alexandr Ortiz | 2005-06-22 18:07:31 | COPY FROM - evitar " |
Previous Message | Javier Aquino H. | 2005-06-22 16:32:09 | Saludos ... |