Re: [Pgsql-ayuda] Problemas con funciones

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Andres Garcia Jimenez <agarcia(at)ids(dot)com(dot)mx>
Cc: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re: [Pgsql-ayuda] Problemas con funciones
Date: 2003-12-16 03:01:47
Message-ID: 20031216030147.GA1650@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Mon, Dec 15, 2003 at 08:13:53PM -0600, Andres Garcia Jimenez wrote:

> 1.- creo un tabla (T1)
[...]
> 5.- Borro la tabla.

> WARNING: Error occurred while executing PL/pgSQL function mifuncion
> WARNING: line 43 at SQL statement
> ERROR: pg_class_aclcheck: relation 701159 not found

Lo que pasa es que PL/pgSQL mantiene un cache de compilacion. La
primera vez que ejecutas la funcion, se compila y registra el OID de la
tabla que creaste. La segunda vez trata de usar ese mismo OID, pero
como creaste la tabla de nuevo, no funciona.

La solucion es usar EXECUTE ''create table ...'' en lugar del CREATE
TABLE directamente.

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"La primera ley de las demostraciones en vivo es: no trate de usar el sistema.
Escriba un guión que no toque nada para no causar daños." (Jakob Nielsen)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Miren Amiano 2003-12-16 09:48:37 [Pgsql-ayuda] [Pgsql-ayuda]los triggers y sus cosas
Previous Message Andres Garcia Jimenez 2003-12-16 02:13:53 [Pgsql-ayuda] Problemas con funciones