DML 트리거 계획 지침
Microsoft SQL Server 2005에서는 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 트리거가 허용되지 않습니다. |
실행 |
다음 이후
|
다음 이전
다음 대신
다음 이후
|
실행 순서 |
첫 실행과 마지막 실행을 지정할 수 있음 |
해당 사항 없음 |
inserted 및 deleted 테이블의 varchar(max), nvarchar(max) 및 varbinary(max) 열 참조 |
허용됨 |
허용됨 |
inserted 및 deleted 테이블의 text, ntext 및 image 열 참조 |
허용 안 됨 |
허용됨 |