# 트리거(Trigger)
: 데이터베이스에서 특정 이벤트가 발생할 때 자동으로 실행되는 작업입니다. 이벤트는 데이터의 변경, 삽입, 삭제 등의 동작을 포함할 수 있습니다. 트리거는 이러한 이벤트를 감지하고 특정 작업 또는 일련의 작업을 자동으로 실행하여 데이터의 일관성을 유지하거나 추가 동작을 수행할 수 있습니다.
1. 데이터 일관성 유지: 트리거를 사용하여 데이터의 일관성을 유지할 수 있습니다. 예를 들어, 특정 테이블에 새로운 데이터가 삽입되거나 변경될 때, 해당 테이블에 종속된 다른 테이블의 데이터를 자동으로 업데이트할 수 있습니다.
2. 로그 기록: 트리거를 사용하여 데이터 변경 작업에 대한 로그를 자동으로 기록할 수 있습니다. 이를 통해 데이터 변경 이력을 추적하거나 보안 및 감사 목적으로 활용할 수 있습니다.
3. 제약 조건 추가: 트리거를 사용하여 추가적인 제약 조건을 설정할 수 있습니다. 예를 들어, 특정 조건을 만족하지 않는 데이터의 삽입 또는 업데이트를 방지하는 등의 작업을 수행할 수 있습니다.
트리거는 데이터베이스 시스템에 따라 구현 방식이 조금씩 다를 수 있습니다. 일반적으로 데이터베이스 시스템의 트리거는 특정 테이블과 연결되며, 특정 이벤트가 발생할 때 실행됩니다. 트리거는 SQL 문으로 작성되며, 데이터베이스 관리 도구나 쿼리를 사용하여 생성 및 관리할 수 있습니다.
# 트리거 문법
DELIMITER //
CREATE TRIGGER trg_deletedMemberTBL -- 트리거 이름
AFTER DELETE -- 삭제 후에 작동하게 지정
ON memberTBL -- 트리거를 부착할 테이블
FOR EACH ROW -- 각 행마다 적용시킴
BEGIN
-- OLD 테이블의 내용을 백업테이블에 삽입
INSERT INTO deletedMemberTBL
VALUES (OLD.memberID, OLD.memberName, OLD.memberAddress, CURDATE() );
END //
DELIMITER ;
반응형
'Programming > 데이터베이스 관리(DBMS) \ 관리자(DBA)' 카테고리의 다른 글
mysql(데이터 베이스)/ 모델링(model) (0) | 2023.06.05 |
---|---|
mysql(데이터 베이스)/ 백업, 복원 (0) | 2023.06.05 |
mysql(데이터 베이스)/ 프로시저(procedure) (0) | 2023.06.05 |
mysql(데이터 베이스)/ 뷰(view) (0) | 2023.06.05 |
mysql(데이터 베이스)/ SQL(query 쿼리문) 기본k (0) | 2023.06.01 |