RE: Variable NEW en una funcion para un trigger

From: "Juan Luis Echeverria" <juanluise(at)usa(dot)net>
To: "'Fernando Moreno'" <azazel(dot)7(at)gmail(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Variable NEW en una funcion para un trigger
Date: 2008-05-02 19:59:10
Message-ID: 997meBT8r0345M38@cmsapps02.cms.usa.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Fernando Moreno [mailto:azazel(dot)7(at)gmail(dot)com] escribio:
>Como te dije anteriormente, esto slo funcionar si nunca vas a consultar
el valor de NEW.idsyncxxx y NEW.syncxxx,

Si uso NEW.idsyncxxx = new_idsync no es valido ya que idsyncxxx es una
variable y no un campo de la fila que la funcion esta manipulando. Recuerda
que quiero usar la misma funcion para N tablas y cada una de esas N tablas
tiene un campo con el nombre "idsync" + un correlativo, en este caso,
idsync008, entonces lo que necesito es que NEW."variable" sea dinamico en
donde en runtime "variable" sea sustituida por el nombre del campo

>pero s es posible que les quieras asignar un nuevo valor. En ese caso,
creas una nueva variable RECORD, con los
>mismos datos de NEW (los que puedas obtener directamente), ms los dos
campos que calculas en tiempo de ejecucin.

si, se puede hacer lo que decis, pero al construir la nueva fila y cuando
tenga que hacer la asignacion a los campos que tienen el prefijo "idsync"
como lo hago ? pues en una tabla el nombre del campo sera idsync001, en otra
idsync002 y asi idsyncxxx sucesivamente; por eso para no estar haciendo una
funcion con NEW.idsync001, otra con NEW.idsync002 y asi sucesivamente es que
crei que funcionaria NEW.variable pero no funciona en pl/pgsql.
Saludos.

---------------------
Juan Luis Echeverria
juanluise(at)cresolt(dot)info

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Angel De Jesus González Cruz 2008-05-02 23:34:47 Ayuda on funcion que regresa registros
Previous Message Martin Marques 2008-05-02 19:26:56 Re: WAL - Momento de escritura a disco