Development Tip

PostgreSQL에서 행이 업데이트 될 때 타임 스탬프 업데이트

yourdevel 2020. 11. 24. 20:00
반응형

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

참고 URL : https://stackoverflow.com/questions/1035980/update-timestamp-when-row-is-updated-in-postgresql

반응형