일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 백준
- 렌더링 파이프라인
- 자료구조
- directx
- DirectX 12
- 쓰레드
- 알고리즘
- 병행성
- 다이나믹프로그래밍
- 파일시스템 구현
- 프로그래머스
- 병행성 관련 오류
- 운영체제
- 락
- 타입 객체
- OS
- 디자인패턴
- DirectX12
- 컨디션 변수
- 그리디 알고리즘
- 스케줄링
- codility
- 멀티프로세서
- Direct12
- 다이나믹 프로그래밍
- 멀티쓰레드
- 영속성
- 동적계획법
- 그리디알고리즘
- I/O장치
- Today
- Total
기록공간
3-4-2장. 트리거(Trigger) - B 본문
트리거의 개요
트리거는 데이터베이스 시스템에서 데이터의 삽입(Insert), 갱신(Update), 삭제(Delete) 등의 이벤트(Event)가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL이다.
-
트리거는 데이터베이스에 저장되며, 데이터 변경 및 무결성 유지, 로그 메시지 출력 등의 목적으로 사용됨
-
트리거의 구문에는 DCL을 사용할 수 없으며, DCL이 포함된 프로시저나 함수를 호출하는 경우에도 오류가 발생
-
트리거에 오류가 있는 경우 트리거가 처리하는 데이터에도 영향을 미치므로 트리거를 생성할 때 세심한 주의가 필요
트리거의 구성
트리거는 선언, 이벤트, 시작, 종료로 구성되며, 시작과 종료 구문 사이에는 제어(CONTROL), SQL, 예외(EXCEPTION)가 포함된다.
-
DECLARE : 트리거의 명칭, 변수 및 상수, 데이터 타입을 정의하는 선언부
-
EVENT : 트리거가 실행되는 조건을 명시
-
BEGIN / END : 트리거의 시작과 종료를 의미
-
CONTROL : 조건문 또는 반복문이 삽입되어 순차적으로 처리
-
SQL : DML문이 삽입되어 데이터 관리를 위한 조회, 추가, 수정, 삭제 작업을 수행
-
EXCEPTION : BEGIN ~ END 안의 구문 실행 시 예외가 발생하면 이를 처리하는 방법을 정의
트리거의 생성
트리거를 생성하기 위해서는 CREATE TRIGGER 명령어를 사용한다.
CREATE [OR RELACE] TRIGGER 트리거명 [동작시기 옵션][동작 옵션] ON 테이블명
REFERENCING [NEW | OLD] AS 테이블명
FOR EACH ROW
[WHEN 조건식]
BEGIN
트리거 BODY;
END;
-
OR REPLACE : 선택적인 예약어이다. 이 예약어를 사용하면 동일한 트리거 이름이 이미 존재하는 경우, 기존의 프로시저를 대체할 수 있음
-
동작시기 옵션 : 트리거가 실행될 때를 지정한다. 옵션에는 AFTER와 BEFORE가 있음
-
AFTER : 테이블이 변경된 후에 트리거 실행
-
BEFORE : 테이블이 변경되기 전에 트리거 실행
-
-
동작 옵션 : 트리거가 실행되게 할 작업의 종류를 지정한다. 옵션에는 INSERT, DELETE, UPDATE가 있음
-
INSERT : 테이블에 새로운 튜플을 삽입할 때 트리거가 실행
-
DELETE : 테이블의 튜플을 삭제할 때 트리거가 실행
-
UPDATE : 테이블의 튜플을 수정할 때 트리거가 실행
-
-
NEW | OLD : 트리거가 적용될 테이블의 별칭을 지정
-
NEW : 추가되거나 수정에 참여할 튜플들의 집합(테이블)을 의미
-
OLD : 수정되거나 삭제 전 대상이 되는 튜플들의 집합(테이블)을 의미
-
-
FOR EACH ROW : 각 튜플마다 트리거를 적용한다는 의미
-
WHEN 조건식 : 선택적인 예약어이다. 트리거를 적용할 튜플의 조건을 지정
-
트리거 BODY
-
트리거의 본문 코드를 입력하는 부분
-
BEGIN으로 시작해서 END로 끝나는데, 적어도 하나 이상의 SQL문이 있어야 한다. 그렇지 않으면 오류 발생
-
트리거의 제거
트리거를 제거하기 위해서는 DROP TRIGGER 명령어를 사용한다.
DROP TRIGGER 트리거명;
'자격증공부 > 정보처리기사_필기' 카테고리의 다른 글
3-4-4장. DBMS 접속 기술 - B (0) | 2020.09.15 |
---|---|
3-4-3장. 사용자 정의 함수 - B (0) | 2020.09.15 |
3-4-1장. 프로시저(Procedure) - A (0) | 2020.09.15 |
3-3-7장. DML - JOIN - B (0) | 2020.09.15 |
3-3-5장~3-3-6장. DML - SELECT - A (0) | 2020.09.14 |