트리거(Trigger)란 테이블에 삽입, 수정, 삭제 등의 작업이 발생할 때에 자동으로 가동되는 개체이다.
트리거는 대체로 테이블에 부착되어 사용하게 되는 형태로 트리거가 부착된 해당 테이블에서 작업이 발생될 때, 자동으로 트리거가 실행되게 된다.
트리거를 가장 많이 사용하는 사례로는 테이블의 내용 복구인데 누군가가 테이블의 행을 실수로 삭제했다면, 내용을 복구하고 누가 지웠는지 추적하기 쉽지 않다 하지만 이러한 경우에 트리거를 사용해서 행이 삭제된 시간, 행의 내용, 삭제한 사용자의 정보가 기록되어있다면 이러한 문제를 쉽게 해결할 수 있다.
트리거의 종류
- AFTER 트리거 : 작업이 일어났을때 작업 후에 작동하는 트리거
- BEFORE 트리거: 작업이 일어났을때 작업 전에 작동하는 트리거
트리거의 기본 문법과 사용
trigger_order의 사용은 사용하려는 테이블에 해당 트리거 외에 다른 트리거가 존재할 경우 다른 트리거보다 PRECEDES(선행) 혹은 FOLLOWS(후행) 할지를 지정한다.
이 글은 코드프레소 DevOps Roasting 코스를 수강하면서 작성한 글입니다.