[postgresql] PostgreSQL에서 행이 업데이트 될 때 타임 스탬프 업데이트
MySQL에서는 changetimestamp
행이 변경 될 때마다 열을 업데이트하는 위치에서 실행할 수 있습니다 .
create table ab (
id int,
changetimestamp timestamp
NOT NULL
default CURRENT_TIMESTAMP
on update CURRENT_TIMESTAMP
);
PostgreSQL에서 위와 비슷한 것이 있습니까?
답변
다음과 같이 테이블의 changetimestamp 열을 업데이트하는 함수를 만듭니다.
CREATE OR REPLACE FUNCTION update_changetimestamp_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.changetimestamp = now();
RETURN NEW;
END;
$$ language 'plpgsql';
다음과 같이 업데이트가 발생할 때마다 update_changetimestamp_column () 함수를 호출하는 테이블에 트리거를 만듭니다.
CREATE TRIGGER update_ab_changetimestamp BEFORE UPDATE
ON ab FOR EACH ROW EXECUTE PROCEDURE
update_changetimestamp_column();