본문 바로가기
카테고리 없음

[PostgreSQL] 트리거 생성하기

by palbokdev 2023. 8. 24.
CREATE FUNCTION updatePop() RETURNS TRIGGER AS $updatePopulation$
DECLARE
    name1 varchar(30);
    name2 varchar(30);
BEGIN
    IF (TG_OP = 'INSERT') THEN
        name1 = NEW.name;
        name2 = NEW.province;
        UPDATE Place
        SET population = population + 1
        WHERE name1 = Place.name AND name2 = Place.province;
END IF;
RETURN NULL;    
END;
$updatePopulation$ LANGUAGE plpgsql;

CREATE TRIGGER updatePopulation
AFTER INSERT ON LivesIn
FOR EACH ROW 
EXECUTE PROCEDURE updatePop();

 

updatePop()이라는 함수를 먼저 정의한 뒤,

LivesIn에 INSERT가 발생할 때 마다 해당 함수를 실행하게 하는 SQL이다.

 

ref : https://stackoverflow.com/questions/15238082/postgresql-creating-a-trigger