Re: insert en Function

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Nicolás Domínguez Florit <ndomin(at)rec(dot)unicen(dot)edu(dot)ar>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: insert en Function
Date: 2006-04-26 19:00:54
Message-ID: 20060426190054.GG2302@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Nicolás Domínguez Florit escribió:
> desde dentro de la funcion cambie:
>
> INSERT INTO "Tabla" SELECT OLD.*;
>
> por
>
> temporal:='INSERT INTO esquema.' || Tabla || 'SELECT OLD.*;';
> EXECUTE temporal;
>
> y tengo el problema de que no me reconoce OLD y me tira:
> ERROR: syntax error at or near "OLD" at character 40
>
> Se te (les) ocurre como lo puedo acomodar?

No se. Trata de hacer que el OLD.* se expanda en la funcion; obviamente
no funciona en el EXECUTE.

temporal:='INSERT INTO esquema.' || Tabla || 'SELECT ' || OLD.* ;

pero en realidad yo no esperaria que eso funcionara limpiamente. Quizas

temporal:='INSERT INTO esquema.' || Tabla || 'SELECT ' || OLD || '.*' ;

En todo caso activa log_statement y mira en el log la sentencia que se
esta ejecutando. Cualquier cosa que no te acepte el parser directamente
en psql no funcionara con EXECUTE.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Nicolás Domínguez Florit 2006-04-26 19:10:36 Re: insert en Function
Previous Message Alvaro Herrera 2006-04-26 18:57:34 Re: Nuevo Tokkens en PostgreSQL