Re: insert en Function

From: Nicolás Domínguez Florit <ndomin(at)rec(dot)unicen(dot)edu(dot)ar>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: insert en Function
Date: 2006-04-26 19:10:36
Message-ID: 26fd01c66965$19d2da20$ea84a8c0@Nico
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hice una solucion provisoria y poco optima, pero funciona.

CREATE TEMP TABLE auditoria_temp AS (SELECT OLD.*);
EXECUTE 'INSERT INTO esquema.' ||Tabla|| ' SELECT * FROM
auditoria_temp';
DROP TABLE auditoria_temp;

Voy a ver de probar mañana lo que me dice Alvaro.

Muchas gracias

Nicolas.

----- Original Message -----
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>
Sent: Wednesday, April 26, 2006 4:00 PM
Subject: Re: [pgsql-es-ayuda] insert en Function

> 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.
>
>
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.385 / Virus Database: 268.4.6/324 - Release Date: 25/04/2006
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Martínez 2006-04-26 19:13:57 Re: Sobre uso de pg_update
Previous Message Alvaro Herrera 2006-04-26 19:00:54 Re: insert en Function