๐งโโ๏ธ
ํธ๋ฆฌ๊ฑฐ(TRIGGER)๋?
 December 18, 2022
ํธ๋ฆฌ๊ฑฐ๋?
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์์ฝ์ , ๊ฐฑ์ , ์ญ์  ๋ฑ์์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋๋ง๋ค๊ด๋ จ์์ ์ด ์๋์ผ๋ก ์ํ๋๋ ์ ์ฐจํ SQL์ด๋ค.
- ํ ์ด๋ธ์ ๋ํ ์ด๋ฒคํธ์ ๋ฐ์ํด ์๋์ผ๋ก ์คํ๋๋ ์์ ์ ์๋ฏธ
๋ชฉ์ 
- ์ผ๋ฐ์ ์ผ๋ก ์ด๋ฒคํธ์ ๊ด๋ จ๋ ํ ์ด๋ธ์ ๋ฐ์ดํฐ ์ฝ์ , ์ถ๊ฐ, ์ญ์  ์์ ์ DBMS๊ฐ ์๋์ ์ผ๋ก ์คํ์ํค๋๋ฐ ํ์ฉ
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ง ๋ฐ ๋ก๊ทธ ๋ฉ์์ง ์ถ๋ ฅ ๋ฑ์ ๋ณ๋ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ฌ์ฉ๋๊ธฐ๋ ํจ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ ๊ฐ๊ณผ ๊ทธ ๊ฒ์ด ํํํ๋ ์ค์  ๊ฐ์ด ์ผ์นํ๋ ์ ํ์ฑ์ ์๋ฏธ
๊ตฌ์ฑ
| ๊ตฌ์ฑ์์ | ์ค๋ช | 
|---|---|
| ์ ์ธ๋ถ(DECLARE) | ํธ๋ฆฌ๊ฑฐ์ ๋ช ์นญ์ ์ ์ํ๋ ๋ถ๋ถ | 
| ์ด๋ฒคํธ๋ถ(EVENT) | ํธ๋ฆฌ๊ฑฐ๊ฐ ์คํ๋๋ ํ์ด๋ฐ, ์ด๋ฒคํธ๋ฅผ ๋ช ์ํ๋ ๋ถ๋ถ | 
| ์์/์ข ๋ฃ๋ถ(BEGIN/END) | ํธ๋ฆฌ๊ฑฐ์ ์์๊ณผ ์ข ๋ฃ๋ฅผ ํํํ๋๋ฐ ํ์์ ์ด๋ฉฐ, BEGIN/END๊ฐ ์์ผ๋ก ์ด๋ฃจ์ด ์ถ๊ฐ๋๋ฏ๋ก ๋ธ๋ก์ผ๋ก ๊ตฌ์ฑ, ๋ค์ ์คํ์ ์ ์ดํ๋ ๊ธฐ๋ณธ์  ๋จ์๊ฐ ๋๋ฉฐ ๋ ผ๋ฆฌ์  ํ๋ก์ธ์ค๋ฅผ ๊ตฌ์ฑ | 
| ์ ์ด๋ถ(CONTROL) | ๊ธฐ๋ณธ์ ์ผ๋ก ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌ, ๋น๊ต ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ธ๋ก ๋๋ ๋ฌธ์ฅ์ ์คํ, ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ฐ๋ณต ์คํ | 
| SQL | DML์ ์ฃผ๋ก ์ฌ์ฉํ๊ณ , ์์ฃผ ์ฌ์ฉ๋์ง ์์ง๋ง DDL (TRUNCATE ๋ฑ)์ ์ฌ์ฉ | 
| ์์ธ๋ถ(EXCEPTION) | BEGIN~END ์ ์์ ์คํ๋๋ SQL ๋ฌธ์ด ์คํ๋ ๋ ์์ธ ๋ฐ์ ์ ์์ธ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ์ ์ํ๋ ์ฒ๋ฆฌ๋ถ | 
์ฅ / ๋จ์ 
- ์ฅ์ 
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๊ฐํ(์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ)
- ์
๋ฌด์ฒ๋ฆฌ ์๋ํ
- ํธ๋ฆฌ๊ฑฐ๋ฅผ ์ฌ์ฉํ๋ฉด ํธ๋์ญ์ ์ ์ํด ์๋์ผ๋ก ๋ค๋ฅธ ๋ช ๋ น์ ์ผ์ผํด์ผ๋ก์จ ์ ๋ฌด์ฒ๋ฆฌ๋ฅผ ์๋ํํ ์ ์์
- ์ค๊ฐ์ ์ฌ์ฉ์๊ฐ ๊ฐ์ ํ์ง ์๊ณ ๊ตฌํ๋ ๊ท์น๋๋ก ์์์ ์คํ๋จ
 
 
- ๋จ์ 
- ํธ๋ฆฌ๊ฑฐ๋ฅผ ๊ณผ๋ํ๊ฒ ์ฌ์ฉํ๋ค๋ฉด ๋ณต์กํ ์ํธ ์์กด์ฑ์ ์ผ๊ธฐํ  ์ ์์
- ์๋ฅผ ๋ค์ด ํ๋์ ํธ๋ฆฌ๊ฑฐ๊ฐ ํ์ฑํ๋์ด ์ด ํธ๋ฆฌ๊ฑฐ ๋ด์ SQL๋ฌธ์ด ์ํ๋๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ก ์ธํ์ฌ ๋ค๋ฅธ ํธ๋ฆฌ๊ฑฐ๊ฐ ํ์ฑํ๋์ด ๊ทธ ํธ๋ฆฌ๊ฑฐ์ SQL๋ฌธ์ด ์ํ๋ ์ ์์(ํธ๋ฆฌ๊ฑฐ์ ์ฐ์)
 
 
- ํธ๋ฆฌ๊ฑฐ๋ฅผ ๊ณผ๋ํ๊ฒ ์ฌ์ฉํ๋ค๋ฉด ๋ณต์กํ ์ํธ ์์กด์ฑ์ ์ผ๊ธฐํ  ์ ์์
์ฉ์ด์ ๋ฆฌ
- DDL(Data Definition Language): ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ํ๋ ์ธ์ด์ด๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ์์ฑ, ์์ , ์ญ์ ํ๋ ๋ฑ์ ๋ฐ์ดํฐ์ ์ ์ฒด์ ๊ณจ๊ฒฉ์ ๊ฒฐ์ ํ๋ ์ญํ ์ ํ๋ ์ธ์ด
- DML(Data Manipulation Language): ์ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๋ ฅ๋ ๋ ์ฝ๋๋ฅผ ์กฐํํ๊ฑฐ๋ ์์ ํ๊ฑฐ๋ ์ญ์ ํ๋ ๋ฑ์ ์ญํ ์ ํ๋ ์ธ์ด
- DCL(Data Control Language): ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๊ฑฐ๋ ๊ฐ์ฒด์ ๊ถํ์ ์ฃผ๋๋ฑ์ ์ญํ ์ ํ๋ ์ธ์ด
์ฐธ๊ณ ๋งํฌ
[DB] Trigger ํธ๋ฆฌ๊ฑฐ ๊ฐ์ ๋ฐ ์ฅ๋จ์ 
ํธ๋ฆฌ๊ฑฐ(Trigger)์ ๊ฐ๋ ๊ณผ ๋ชฉ์  ๊ทธ๋ฆฌ๊ณ ๊ตฌ์ฑ