높은 수준에서는 트리거에 대한 두 가지 사용 사례가 있습니다 1
1) 물건을 "자동적으로"만드는 것. 이 경우 트리거는 부작용을 유발하며, 실행 된 (기본) 연산자 삽입, 업데이트 또는 삭제를 고려하여 예상치 않은 방식으로 데이터를 변경하여 트리거를 발생시킵니다.
여기서 일반적인 합의는 방아쇠가 실제로 해롭다는 것입니다. INSERT, UPDATE 또는 DELETE 문의 잘 알려진 의미를 변경하기 때문입니다. 이 세 가지 기본 SQL 연산자의 의미를 변경하면 나중에 나중에 SQL 기본 형식으로 조작 할 때 더 이상 예상 된 방식으로 작동하지 않는 데이터베이스 테이블에서 작업해야하는 다른 개발자를 물리 칠 수 있습니다.
2) 우리가 선언적으로 다룰 수있는 데이터 무결성 규칙을 적용하기 위해 (CHECK, PRIMARY KEY, UNIQUE KEY 및 FOREIGN KEY 사용). 이 사용 사례에서 모든 트리거는 QUERY (SELECT) 데이터로 INSERT / UPDATE / DELETE에 의한 변경이 허용되는지 확인합니다. 선언적 제약이 우리에게하는 것처럼. 이 경우에만 우리 (개발자)가 시행을 프로그래밍했습니다.
후자의 유스 케이스에 트리거를 사용하는 것은 해롭지 않습니다.
http://harmfultriggers.blogspot.com 에서 블로깅하고 있습니다 .