RE: Consulta sobre tiggers

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

Responses

Browse pgsql-es-ayuda by date

  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