트리거 기본형 (mariadb 10.5)
사냥꾼이 사냥감을 바라보며
사냥감의 특정 행동 전후에 행동하는것이 트리거라고 비유할 수 있다.
<상황>
1.회원이 탈퇴했다.
2.회원 테이블에서 delete되었다.
3.탈퇴한 회원이 자기 계정이 사라졋다고 박박우긴다.
이에 따라서
관리자는 탈퇴한 회원들을 " 탈퇴 테이블 " 을 만들어 데이터를 (insert)관리하고 싶다.
하지만 , 언제 탈퇴할지 알고 매순간 마다 insert할 순 없다.
이럴때 사용하는것이 트리거이다
한마디로
회원이 탈퇴하면
그데이터를 자동적으로 "탈퇴 테이블"에 insert한다
관리자가는 누가 박박우기면 "탈퇴 테이블"을 조회하여
설명해준다.
미안하다. 혓바닥이 너무길었다...
다음과 같다
66~69 라인
: 트리거를 생성하는데 membertbl에 delete가 이루어진 이후에 작동하는 트리거를 생성한다
(delete 가 아닌 insert , update도 가능하다)
70~74 라인
membertbl에 delete가 이루어진 이후에
시작해라!
deletedmembertbl에 삭제된 내용을 insert해라!
여기서 OLD는 트리거가 작동되기전에 원본데이터를 가르킨다.
즉, 삭제된 이후에 트리거가 작동하니
삭제된 테이블의 한 행의 memberId, memberName, memberAddress 인것이다.
이후에 다음과같이 확인하였다.
삭제하기전에 membertbl을 조회해서 갯수를 파악했다.
membertbl의 데이터를 한건 삭제하였다 <----- 트리거 발동!!
트리거가 insert해주는 deletedmembertbl 테이블을 조회하여
성공적으로 insert가 되었는지 확인 한다.
캡쳐를 몇개 놓쳤지만 결과는 잘나왓다.