No MySQL, podemos executar isso onde ele atualiza a coluna changetimestamp
sempre que a linha é alterada:
create table ab (
id int,
changetimestamp timestamp
NOT NULL
default CURRENT_TIMESTAMP
on update CURRENT_TIMESTAMP
);
Existe algo semelhante a fazer o acima no PostgreSQL?
postgresql
timestamp
bichonfrise74
fonte
fonte
timestamp
colunas dependendo da versão e configurações, que (felizmente!) Não podem ser reproduzidos no Postgres. Como permitir0
umatimestamp
coluna ou transformarNULL
no carimbo de data / hora atual na entrada em certas constelações. Certifique-se de estudar o manual de ambos RDBMS para estar ciente das diferenças sutis: MySQL e Postgres .Respostas:
Crie uma função que atualize a coluna changetimestamp de uma tabela assim:
CREATE OR REPLACE FUNCTION update_changetimestamp_column() RETURNS TRIGGER AS $$ BEGIN NEW.changetimestamp = now(); RETURN NEW; END; $$ language 'plpgsql';
Crie um gatilho na tabela que chama a função update_changetimestamp_column () sempre que ocorre uma atualização da seguinte forma:
CREATE TRIGGER update_ab_changetimestamp BEFORE UPDATE ON ab FOR EACH ROW EXECUTE PROCEDURE update_changetimestamp_column();
fonte
update_changetimestamp_column
?