카테고리 없음

트리거 기본형 (mariadb 10.5)

나태쿤 2021. 6. 17. 01:32
728x90

사냥꾼이 사냥감을 바라보며

사냥감의 특정 행동 전후에 행동하는것이 트리거라고 비유할 수 있다.

 

<상황>

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가 되었는지 확인 한다.

 

캡쳐를 몇개 놓쳤지만 결과는 잘나왓다.

728x90