INSTEAD OF 트리거 (DML)

SQL Server에서 트리거 구축 및 최적화

Florin Angelescu

Instructor

정의와 속성

  • 실행 시 일련의 작업 수행
  • DML 이벤트 대신 작업 수행
  • 원래 DML 이벤트는 실행되지 않음
  • 테이블/뷰의 INSERT, UPDATE, DELETE와 함께 사용
SQL Server에서 트리거 구축 및 최적화

INSTEAD OF 트리거의 전제 조건

| ID  | Customer        | Product   | Price | Quantity | OrderDate  | TotalAmount |
|-----|-----------------|-----------|-------|----------|------------|-------------|
| 284 | VitaFruit       | Orange    | 0.76  | 75       | 2018-09-17 | 57.00       |
| 330 | Healthy Choices | Raspberry | 1.96  | 200      | 2018-10-29 | 392.00      |
| 302 | World of Fruits | Pineapple | 4.16  | 25       | 2018-10-09 | 104.00      |
| 248 | Fruit Mania     | Plum      | 1.11  | 300      | 2018-08-11 | 333.00      |
| 358 | Fruit Mag       | Pomelo    | 1.11  | 750      | 2018-11-29 | 832.50      |
| 100 | VitaFruit       | Avocado   | 2.91  | 500      | 2018-03-29 | 1455.00     |
SQL Server에서 트리거 구축 및 최적화

INSTEAD OF 트리거의 전제 조건

  • 대상 테이블
  • 트리거 설명
  • 트리거 발생 이벤트(DML)
  • 트리거 이름
  • Orders
  • 기존 항목의 수정 금지
  • UPDATE
  • PreventOrdersUpdate
SQL Server에서 트리거 구축 및 최적화

INSTEAD OF 트리거 정의

CREATE TRIGGER PreventOrdersUpdate

ON Orders
INSTEAD OF UPDATE
AS RAISERROR ('"Orders" 테이블에서는 업데이트가 허용되지 않습니다. 새 제품을 추가하려면 새 주문을 생성하세요', 16, 1);
SQL Server에서 트리거 구축 및 최적화

연습해 봅시다!

SQL Server에서 트리거 구축 및 최적화

Preparing Video For Download...