다음을 통해 공유


DML 트리거 계획 지침

DML 트리거를 디자인할 때 다음과 같은 두 가지 옵션을 사용할 수 있습니다.

  • 일반 트리거 동작 대신 INSTEAD OF 트리거를 실행합니다. 뷰에서 지원하는 업데이트 유형을 확장할 수 있는 기본 테이블이 하나 이상 있는 뷰에 INSTEAD OF 트리거를 정의할 수도 있습니다.

  • INSERT, UPDATE 또는 DELETE 문의 동작을 수행한 후에 AFTER 트리거를 실행합니다. AFTER 지정은 FOR 지정과 같습니다. AFTER 트리거는 테이블에만 지정할 수 있습니다.

이 표에서는 AFTER 트리거와 INSTEAD OF 트리거의 기능을 비교합니다.

함수

AFTER 트리거

INSTEAD OF 트리거

적용 대상

테이블

테이블 및 뷰

각 테이블이나 뷰에서 가능한 트리거 수

각 트리거 동작(UPDATE, DELETE 및 INSERT)에 대해 여러 개 사용 가능

각 트리거 동작(UPDATE, DELETE 및 INSERT)에 대해 한 개만 사용 가능

연계 참조

적용되는 제한 없음

연계 참조 무결성 제약 조건이 적용되는 테이블에는 INSTEAD OF UPDATE 트리거와 DELETE 트리거가 허용되지 않습니다.

실행

다음 이후

  • 제약 조건 처리

  • 선언적 참조 동작

  • inserteddeleted 테이블 만들기

  • 트리거 동작

다음 이전

  • 제약 조건 처리

다음 대신

  • 트리거 동작

다음 이후

  • inserteddeleted 테이블 만들기

실행 순서

첫 실행과 마지막 실행을 지정할 수 있음

해당 사항 없음

inserteddeleted 테이블의 varchar(max), nvarchar(max) 및 varbinary(max) 열 참조

허용됨

허용됨

inserteddeleted 테이블의 text, ntext 및 image 열 참조

허용 안 됨

허용됨