| 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: | Whole Thread | Raw Message | 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 |