본문 바로가기
SQL

트리거

by hallojih 2021. 11. 15.

다른 테이블에 부착되어 테이블에 INSERT나 UPDATE 또는 DELETE 작업이 발생되면 실행되는 코드

 

A테이블에 있던 데이터를 B테이블로 옮길 때 자동으로 이동되도록 함

 

INSERT INTO memberTBL VALUES ('Figure', '연아', '경기도 군포시 당정동');

SELECT * FROM memberTBL;

UPDATE memberTBL SET memberAddress = '서울 강남구 역삼동' WHERE memberName = '연아';

SELECT * FROM memberTBL;

DELETE FROM memberTBL WHERE memberName = '연아';

SELECT * FROM memberTBL;

CREATE TABLE deletedMemberTBL (
	memberID char(8),
    memberName char(5),
    memberAddress char(20),
    deleteDate date	-- 삭제한 날짜
);

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 ;


SELECT * FROM memberTBL;

DELETE FROM memberTBL WHERE memberName = '당탕이';

SELECT * FROM deletedMemberTBL;
728x90
반응형

'SQL' 카테고리의 다른 글

데이터 변경을 위한 SQL 문  (0) 2021.11.16
DML, DDL, DCL  (0) 2021.11.16
SELECT...FROM  (0) 2021.11.16
Stored Procedure  (0) 2021.11.15
Non-Unique Key Lookup  (0) 2021.11.15

댓글