트리거는 문 회로로 구성되어 있는데, 왜 조합 논리 회로가 아닌가?

트리거에는 메모리 기능이 있어 입력 신호가 사라진 후에도 출력 신호가 그대로 유지될 수 있기 때문입니다. 조합 회로의 출력 신호는 항상 입력 신호를 따릅니다. 그래서 문 회로만 사용할 수 있다.

트리거는 SQL 서버가 프로그래머와 데이터 분석가에게 제공하는 데이터 무결성을 보장하는 방법입니다. 테이블 이벤트와 관련된 특수 저장 프로시저입니다. 실행은 프로그램에 의해 호출되거나 수동으로 시작되지 않고 이벤트에 의해 트리거됩니다. 예를 들어 테이블이 작업 (삽입, 삭제, 업데이트) 되면 활성화됩니다. 트리거는 일반적으로 데이터 무결성 제약 조건 및 업무 규칙을 구현하는 데 사용됩니다. 트리거는 DBA_TRIGGERS 및 USER_TRIGGERS 데이터 딕셔너리에서 찾을 수 있습니다. SQL3 트리거는 시스템에서 자동으로 데이터베이스를 수정할 수 있는 명령문입니다.

트리거는 다른 테이블을 조회하고 복잡한 SQL 문을 포함할 수 있습니다. 복잡한 비즈니스 규칙이나 요구 사항을 적용하는 데 주로 사용됩니다. 예를 들어 고객의 현재 계정 상태에 따라 신규 주문 삽입 허용 여부를 통제할 수 있습니다.

트리거를 사용하여 여러 테이블에서 행을 추가, 업데이트 또는 삭제할 때 테이블 간에 정의된 관계가 유지되도록 참조 무결성을 구현할 수도 있습니다. 그러나 참조 무결성을 구현하는 가장 좋은 방법은 관련 테이블에서 기본 키와 외래 키 제약 조건을 정의하는 것입니다. 데이터베이스 차트를 사용하는 경우 테이블 간에 관계를 생성하여 외래 키 제약 조건을 자동으로 생성할 수 있습니다.

트리거와 내장 프로시저 간의 유일한 차이점은 트리거가 EXECUTE 문 호출을 실행할 수 없고 사용자가 Transact-SQL 문을 실행할 때 자동으로 실행을 트리거한다는 것입니다.