728x90
트리거
- 테이블에 이벤트가 발생하면 자동으로 실행되는 작업
- 데이터베이스 작업을 제한하거나, 작업의 기록
log
, 작업에 대한 감사audit
를 수행하기 위해 사용- 트리거의 구성요소 : 이벤트, 조건, 동작
- 행 트리거 : 테이블 내에 변경되는 행에 대해 각각 실행
- 문장 트리거 :
INSERT
UPDATE
DELETE
문장 전체에 대해 실행
[트리거 정의]
CREATE\[OR REPLACE\] TRIGGER <trigger\_name>
\[BEFORE|AFTER\] \[INSERT|UPDATE|DELETE\] ON <table\_name>
\[FOR EACH ROW|FOR EACH STATEMENT\]
\[WHEN condition\]
BEGIN
...
END;
[트리거 삭제]
DROP TRIGGER <trigger\_name>
[트리거 카탈로그]
ALL_TRIGGERS
: 데이터베이스 내의 모든 트리거USER_TRIGGERS
: 현재 사용자의 트리거들
🍀 트리거의 예시
CREATE OR REPLACE TRIGGER to\_refresh\_dept\_size
AFTER INSERT or UPDATE or DELETE OF dept ON student
BEGIN
refresh\_dept\_size; // 학과별 학생 수를 저장해노은 저장프로시저 호출
END;
/
INSERT into student values (600,'홍길동',3,'IT');
-- 실행결과
-- >> 실행하면 자동으로 dept\_size에 IT 추가
728x90
'Database > SQL' 카테고리의 다른 글
[SQL] SELECT 문 (0) | 2023.07.26 |
---|---|
[SQL] Java를 사용한 데이터베이스 응용프로그램의 개발 - JDBC (0) | 2021.12.06 |
[SQL] 함수 (0) | 2021.12.06 |
[SQL] 저장 프로시저(SP) (0) | 2021.12.05 |
[SQL] View (0) | 2021.10.17 |