------------------
TRIGGER
------------------
-- 데이터 변경 이벤트가 발생했을 때 추가적으로 자동 실행되는 프로그램
-- Before trigger : 이벤트 발생 이전에 작동되는 트리거
INSERT, UPDATE, DELETE 세가지 이벤트로 작동
-- After trigger : INSERT, UPDATE, DELETE 등의 작업이 일어났을 때 작동하는 트리거
● 백업 테이블 만들기
데이터를 수정하면 원래 데이터가 들어갈 백업 테이블을 구조만 복사하여 만들어 준다.
create table c_usertbl select * from usertbl;
- 구조만 복사해 백업테이블 만들기
create table c_usertbl_bak like c_usertbl;
- 백업테이블에 열 추가해주기
alter table c_usertbl_bak add column type char(5);
alter table c_usertbl_bak add column U_D_date char(5);
alter table c_usertbl_bak change column U_D_date U_D_date datetime;
● AFTER 트리거
데이터 수정을 한 후 수정하기 전 데이터를 백업테이블에 넣는 명령어를 만들어 준다.
show triggers;
show create trigger trg_c_usertbl_update;
데이터 수정 백업이 만들어졌으면 이제 데이터를 수정해볼 것이다.
이렇게 수정된 것을 볼 수 있고
update c_usertbl set name='바비' where userid='BBK';
백업 테이블을 보면 수정되기 전의 값이 들어 간 것을 볼 수 있다.
update c_usertbl set addr='경남' where userid='EJW';
● 삭제 트리거
삭제하기
delete from c_usertbl where userid='KKH'; 한 결과
select * from c_usertbl_bak; 로
백업테이블 보면 삭제되기 전 데이터가 들어온 것을 볼 수 있다.
'IT수업 > 데이터베이스' 카테고리의 다른 글
it 수업 7주차 (27) EXCEPTION (0) | 2024.02.08 |
---|---|
it 수업 7주차 (26) TRANSACTION (ROLLBACK) (1) | 2024.02.08 |
it 수업 7주차 (25) Procedure (1) | 2024.02.07 |
it 수업 7주차 (24) PIVOT (1) | 2024.02.07 |
it 수업 7주차 (23) JSON (0) | 2024.02.05 |