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-16 18:04:52 |
Message-ID: | 487E3844.2000908@rigel.deusto.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola,
El 16/07/08 17:26, Jaime Casanova escribió:
> On 7/16/08, Alvaro Uría <fermat(at)rigel(dot)deusto(dot)es> wrote:
>> En Postgres, la he creado tal que,
>>
>> validNotBefore timestamp NOT NULL default '0000-00-00 00:00:00',
>> validNotAfter timestamp NOT NULL default '0000-00-00 00:00:00',
>
> te dejo hacer eso? esa fecha no es valida en postgres...
He copiado del fichero original donde lo escribí, y después de mandarlo
me he acordado de que hubo cosas que tuve que modificar.
En lugar de esa fecha, puse una en el pasado (1970-blablabal :-)
Y en el campo "uploaded" no usé "CURRENT_TIMESTAMP" si no "now()".
>> El problema es que parece que no se puede hacer, para el atributo
>> "uploaded", el añadido de "on update CURRENT_TIMESTAMP" con lo que
>> leyendo la documentación he pensado en algo así como,
>>
>
> eso se hace con un trigger... postgres trata de ajustarse al estandár
> en lugar de inventarse clausulas a lo loco...
Con ánimo de aprender, ¿por qué no se podría hacer con una "CREATE RULE"?
Por otro lado, ¿cómo haríais el trigger? (entendería un STFW o RTFM,
pero bastante de eso ya lo he hecho y necesito una guía para "la primera
vez")
¿El trigger sería algo así? (generalmente, la update es a un solo
registro, por lo que el "for each" supongo que se ejecutaría una sola vez)
CREATE TRIGGER tresource_update AFTER UPDATE ON TResource
FOR EACH ROW EXECUTE PROCEDURE update_stamp(uploaded);
¿Y el procedure?
CREATE OR REPLACE FUNCTION update_stamp() returns trigger as $$
begin
return now();
end;
$$ language plpgsql;
Saludos, y gracias.
Alvaro Uría
From | Date | Subject | |
---|---|---|---|
Next Message | alejandrob | 2008-07-16 21:30:55 | Reinstalacion |
Previous Message | Jaime Casanova | 2008-07-16 15:26:05 | Re: Crear un evento cada vez que se hace una UPDATE |