-- 트리거 생성
-- TR1 테이블에서 삭제하기 전에 삭제한 레코드를 TB2 테이블에 추가하는 트리거 작성
DELIMITER //
create trigger tri_tr
BEFORE DELETE -- UPDATE AFTER 테이블명 트리거내용 순서대로 업데이트후에 테이블에 트리거내용대로 해라
ON tr1 FOR EACH ROW
BEGIN;
-- 트리거 내용
insert into tr2(number, name, age)
values(old.number, old.name, old.age) ;
END // -- tr1에있는것을 실행하면 트리거 내용이 자동 실행된다 라는 뜻 : 빽업 작업
DELIMITER ;
show triggers ;
-- drop trigger tri_tr1;
-- show triggers;
delete from tr1;
select * from tr1;
select * from tr2;
-- 트리거 실습을 위한 테이블 생성
CREATE TABLE TR1(
NUMBER VARCHAR(4) PRIMARY KEY,
NAME VARCHAR(4),
AGE INT
);
CREATE TABLE TR2(
NUMBER VARCHAR(4) PRIMARY KEY, -- 무결성때문에 프라이머리키를 준것임 중복되면 안되니까
NAME VARCHAR(4),
AGE INT
);
INSERT INTO TR1(NUMBER,NAME,AGE) VALUES('A101','리쯔웨이',18);
INSERT INTO TR1(NUMBER,NAME,AGE) VALUES('A102','모쥔제',18);
INSERT INTO TR1(NUMBER,NAME,AGE) VALUES('A103','천윈루',18);
SELECT * FROM TR1;
-- TR1테잉블에서 삭제한 레코드를 TB2테이블에 추가하는 트리거 작성
'Programming > SQL' 카테고리의 다른 글
[SQL] 트리거 / 트리거 구동 / DDL트리거 (0) | 2021.01.29 |
---|---|
[SQL] 무결성 규정 (0) | 2021.01.29 |
[SQL/실습] 프로시저 실습 (0) | 2020.12.20 |
[SQL] 프로시저의 매개변수 / 출력매개변수 (0) | 2020.12.20 |
[SQL] 저장프로시저와 사용자정의함수 (0) | 2020.12.18 |