En MySQL, podemos ejecutar esto donde actualiza la columna changetimestamp
cada vez que se cambia la fila:
create table ab (
id int,
changetimestamp timestamp
NOT NULL
default CURRENT_TIMESTAMP
on update CURRENT_TIMESTAMP
);
¿Hay algo similar a hacer lo anterior en PostgreSQL?
postgresql
timestamp
bichonfrise74
fuente
fuente
timestamp
columnas según la versión y la configuración, que (¡afortunadamente!) No se pueden reproducir en Postgres. Como permitir0
unatimestamp
columna o transformarseNULL
en la marca de tiempo actual en la entrada en ciertas constelaciones. Asegúrese de estudiar el manual de ambos RDBMS para estar al tanto de las sutiles diferencias: MySQL y Postgres .Respuestas:
Cree una función que actualice la columna changetimestamp de una tabla así:
CREATE OR REPLACE FUNCTION update_changetimestamp_column() RETURNS TRIGGER AS $$ BEGIN NEW.changetimestamp = now(); RETURN NEW; END; $$ language 'plpgsql';
Cree un desencadenador en la tabla que llame a la función update_changetimestamp_column () siempre que se produzca una actualización así:
CREATE TRIGGER update_ab_changetimestamp BEFORE UPDATE ON ab FOR EACH ROW EXECUTE PROCEDURE update_changetimestamp_column();
fuente
update_changetimestamp_column
?