트리거(Visual Database Tools)
업데이트: 2007년 11월
Visual Database Tools는 DML 트리거를 지원합니다. DML 트리거는 데이터베이스에서 DML(데이터 조작 언어) 이벤트가 발생하는 경우에 호출됩니다. DML 이벤트에는 지정된 테이블이나 뷰의 데이터를 수정하는 INSERT, UPDATE 또는 DELETE 문이 포함됩니다. DML 트리거로 다른 테이블을 쿼리하거나 트리거에 복잡한 Transact-SQL 문을 포함할 수도 있습니다. 트리거와 이를 시작하는 문은 트리거 내에서 롤백할 수 있는 단일 트랜잭션으로 취급됩니다. 디스크 공간 부족 등과 같은 서버 오류가 발견되면 전체 트랜잭션이 자동으로 롤백됩니다.
관련 항목
DML 트리거의 장점은 다음과 같습니다.
데이터베이스에 있는 관련 테이블 전체를 모두 변경할 수 있습니다. 캐스케이딩 참조 무결성 제약 조건을 사용하면 이러한 변경을 더 효율적으로 실행할 수 있습니다.
악의적이거나 잘못된 INSERT, UPDATE 및 DELETE 작업을 방지할 수 있고 CHECK 제약 조건에 정의된 것보다 더 복잡한 제한 사항을 적용할 수 있습니다.
CHECK 제약 조건과는 달리 DML 트리거는 다른 테이블에 있는 열을 참조할 수 있습니다. 예를 들어, 트리거에서 다른 테이블의 SELECT를 사용하여 삽입되었거나 업데이트된 데이터를 비교하고 데이터 수정 또는 사용자 정의 오류 메시지 표시 등과 같은 추가 작업을 수행할 수 있습니다.
데이터를 수정하기 전과 수정한 후의 테이블 상태를 평가하고 그 차이를 기반으로 조치를 취할 수 있습니다.
테이블에 있는 동일한 형식(INSERT, UPDATE 또는 DELETE)의 여러 DML 트리거에서 동일한 수정 문에 대한 응답으로 여러 가지 서로 다른 작업을 수행할 수 있습니다.