[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();


답변