Hola, El 16/07/08 17:26, Jaime Casanova escribió: > On 7/16/08, Alvaro Uría <[EMAIL PROTECTED]> 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
signature.asc
Description: OpenPGP digital signature
