Re: Crear un evento cada vez que se hace una UPDATE

From: Alvaro Uría <fermat(at)rigel(dot)deusto(dot)es>
To: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Crear un evento cada vez que se hace una UPDATE
Date: 2008-07-17 10:26:12
Message-ID: 487F1E44.3060805@rigel.deusto.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola de nuevo,

Lo primero, muchas gracias por la ayuda. Espero que éste sea el último
mensaje sobre este tema... a partir de aquí trastearé solo.

El 17/07/08 00:16, Jaime Casanova escribió:
> de poder puedes, pero las reglas (RULE) en realidad son como macros
> que se expanden en linea (o al menos es una forma de explicarlo) y eso
> hace que puedan surgir problemas si una regla que se expande te agrega
> dos llamadas a la misma funcion volatil (randim(), nextval(), etc)
> cuando tu solo esperabas una...

Interesante :)

> quedaria asi:
> CREATE TRIGGER tresource_update BEFORE UPDATE ON TResource
> FOR EACH ROW EXECUTE PROCEDURE update_stamp();
[...]
> CREATE OR REPLACE FUNCTION update_stamp() returns trigger as $$
> begin
> NEW.uploaded = current_timestamp;
>
> return NEW;
> end;
> $$ language plpgsql;
>

Y si varias tablas tuviesen un atributo (cada una) que se tuviese que
comportar como el del ejemplo de arriba, ¿podría crear una trigger para
cada una del estilo,

CREATE TRIGGER tresource_update BEFORE UPDATE ON TResource
FOR EACH ROW EXECUTE PROCEDURE update_stamp(TResource.uploaded);

y luego crear una función genérica del estilo,

CREATE OR REPLACE FUNCTION update_stamp(inout fecha timestamp) returns
trigger as $$
begin
fecha = current_timestamp;
return NEW;
end;
$$ language plpgsql;

¿O debería crear una función distinta para cada trigger?

Gracias de nuevo.

Saludos,
Alvaro Uría

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Carlos Mendez 2008-07-17 14:41:37 como almacenar numero grande sin redondeo?
Previous Message Juan Carlos Barranco de Paz 2008-07-17 07:25:02 RE: De informix a Postgresql