Trigger
ํธ๋ฆฌ๊ฑฐ(Trigger)๋ DML(INSERT, UPDATE, DELETE )๋ฌธ์ด ํ ์ด๋ธ์ ์ํ๋์ ๋, ์๋์ผ๋ก ์ํ๋๋ ํ๋ก์์ ธ์ด๋ค.
BEFORE : DML๋ฌธ์ด ์คํ๋๊ธฐ ์ ์ ํธ๋ฆฌ๊ฑฐ ์คํ
AFTER : DML๋ฌธ์ด ์คํ๋ ํ ํธ๋ฆฌ๊ฑฐ ์คํ
triggering-event๋ insert, delete, update ์ค์์ ํ ๊ฐ ์ด์ ์ฌ ์ ์์.
[Referencing OLD AS {๋ณ๊ฒฝ์ ๊ฐ์ ์ฐธ์กฐํ๋ ๋ณ์๋ช } NEW AS {๋ณ๊ฒฝ ํ ๊ฐ์ ์ฐธ์กฐํ๋ ๋ณ์๋ช }]
:OLD ๋ ์ฐธ์กฐ ์ ์ด์ ๊ฐ(๋ณํ์ ๊ฐ)
:NEW๋ ์ฐธ์กฐ ํ ์ด์ ๊ฐ(๋ณํ๋ ๊ฐ)
FOR EACH ROW : ํด๋น ์ต์ ์ด ์์ผ๋ฉด, ํ ํธ๋ฆฌ๊ฑฐ๊ฐ ๋๋ค.
ํ ํธ๋ฆฌ๊ฑฐ(Row-Level Triggers) : ์ปฌ๋ผ์ ๊ฐ๊ฐ ํ์ ๋ฐ์ดํฐ ๋ณํ๊ฐ ์๊ธธ๋๋ง๋ค ์คํ๋๋ฉฐ, ๊ทธ ๋ฐ์ดํฐ ํ์ ์ค์ ๊ฐ์ ์ ์ด ๊ฐ๋ฅ
๋ฌธ์ฅ ํธ๋ฆฌ๊ฑฐ(Statement-Level Triggers) : ํธ๋์ญ์ ๋ด์์ ํ๋ฒ๋ง ์ํ๋๋ฉฐ, ์ปฌ๋ผ์ ๊ฐ ๋ฐ์ดํฐ ํ์ ์ ์ด ๋ถ๊ฐ
ํน์ง
ํธ๋ฆฌ๊ฑฐ ๋ด์์๋ commit, rollback์ ์ํํ ์ ์๋ค.
ํธ๋ฆฌ๊ฑฐ๋ ๊ฐ ํ ์ด๋ธ์ ์ต๋ 3๊ฐ๊น์ง ๊ฐ๋ฅํ๋ฉฐ, ์ด๋ฏธ ์ ์๋ ์์ ์ ๋ํด ๋ค๋ฅธ ํธ๋ฆฌ๊ฑฐ๋ฅผ ์ ์ํ๋ฉด ๊ธฐ์กด์ ๊ฒ์ ๋์ฒดํ๋ค.
๋ทฐ๋ ์์ ํ ์ด๋ธ์ ์ฐธ์กฐํ ์ ์์ผ๋, ์์ฑ ํ ์ ์๋ค.
ํธ๋ฆฌ๊ฑฐ ๋์์ ํธ๋ฆฌ๊ฑฐ๋ฅผ ์ญ์ ํ ๋๊น์ง ์๋ํ๋ค.
์ํ ํ์ธ
์ํ๋ณ๊ฒฝ ๋ฐ ์ฌ ์ปดํ์ผ
ํด๋น ํธ๋ฆฌ๊ฑฐ์ ํ์ฑ/๋นํ์ฑ ์ํ ๋ณ๊ฒฝ
ํด๋น ํ ์ด๋ธ์ ์๋ ๋ชจ๋ ํธ๋ฆฌ๊ฑฐ์ ํ์ฑ/๋นํ์ฑ ์ํ ๋ณ๊ฒฝ
ํธ๋ฆฌ๊ฑฐ ๋ด์ฉ์ด ๋ณ๊ฒฝ๋๊ฑฐ๋, ์ ๋๋ก ์๋์ํ๋ ๊ฒฝ์ฐ ์ฌ์ปดํ์ผ
์ญ์
์ฐธ์กฐ
Last updated