Programming/데이터베이스 관리(DBMS) \ 관리자(DBA)

mysql(데이터 베이스)/ 트리거(trigger)

esoog Polaris 2023. 6. 5. 15:06
반응형

# 트리거(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 ;
728x90