From: | mmiranda(at)americatel(dot)com(dot)sv |
---|---|
To: | aromero(at)etesa(dot)com(dot)mx, mmiranda(at)americatel(dot)com(dot)sv |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | RE: Consulta sobre tiggers |
Date: | 2005-05-18 18:16:43 |
Message-ID: | 76E0DAA32C39D711B6EC0002B364A6FA045A9973@amsal01exc01.americatel.com.sv |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Alejandro Romero Parra wrote:
> Es un excelente ejemplo.
>
> Sin embargo, la cuestión no es tan simple ya que si un usuario cambia
> varios campos de una tabla como distingo el nombre de cada campo y su
> correspondiente valor anterior y nuevo, de tal forma que se pueda
> llevar un control fidedigno sobre la data?.
>
> Pendientes...
>
De acuerdo a
http://www.postgresql.org/docs/8.0/interactive/plpgsql-trigger.html
Postgres crea un registro NEW y OLD conteniendo los valores antiguos y
nuevos de la tabla que se esta modificando/insertando/eliminando, con eso
haces tu logica:
IF NEW.campo1 = OLD.campo1 THEN
... -- en este caso haces lo que sea pertinente si el
... -- valor de campo1 no cambio, igual haces con campo2 ...etc
END IF;
IF NEW.campo1 <> OLD.campo1 THEN
... -- en este caso haces lo que sea pertinente si el
... -- valor de campo1 si cambio con respecto al que tenia antes, igual
haces con campo2 ...etc
END IF;
---
Miguel
From | Date | Subject | |
---|---|---|---|
Next Message | mmiranda | 2005-05-18 18:59:50 | RE: Consulta sobre tiggers |
Previous Message | Alejandro Romero Parra | 2005-05-18 18:10:30 | Re: Consulta sobre tiggers |