![[MariaDB] 트리거](https://image.inblog.dev?url=https%3A%2F%2Finblog.ai%2Fapi%2Fog%3Ftitle%3D%255BMariaDB%255D%2520%25ED%258A%25B8%25EB%25A6%25AC%25EA%25B1%25B0%26logoUrl%3Dhttps%253A%252F%252Finblog.ai%252Finblog_logo.png%26blogTitle%3DCoding_study&w=2048&q=75)
- DELIMITER: 함수, 프로시저, 트리거 사용시 ';'의 역할을 다른 기호로 변경하고 종료시 원상 복귀
트리거(Trigger)
: 어떤 이벤트가 발생하기 전에 어떤 일을 먼저 수행해야될때 사용
before: 유효성 검사에 사용
after: 작업을 발생한 것에 대한 흔적, 후속적 저장에 사용
예시) 회원 탈퇴후 탈퇴한 사람의 기록 및 탈퇴 이유를 알기 위해
탈퇴 후 자동으로 탈퇴 테이블에 데이터를 저장
탈퇴 이유 분석 후 정보보호를 약속한 기간이 지나면 삭제

sample 테이블 생성
- * DELIMITER 기호
CREATE TRIGGER 테이블명
AFTER DELETE -- delete가 발생한 후에 or before도 사용가능
ON 테이블명 -- 테이블에다가 트리거를 부착(적용)
FOR EACH ROW -- 각행마다 적용
BEGIN
SET @msg = '삭제가 되었어요..'; -- 트리거 실행시 작동되는 코드
END //
DELIMITER ;

트리거 셋팅후 데이터 추가

변수 조회

테이블에 데이터 추가

데이터 삭제

트리거 발동
연습문제
Share article