비디오: Enhanced productivity using Azure Data Factory visual tools | Azure Friday 2024
SQL 트리거가 작동하는 방식에 문제가있을 수 있습니다. 이전 SQL 문 실행시 테이블에서 SQL 문을 실행하게하는 트리거를 작성한다고 가정합니다. 트리거 된 명령문 자체가 두 번째 트리거를 시작하게한다면 어떨까요?
두 번째 트리거는 세 번째 SQL 문을 두 번째 테이블에서 실행하게하므로 다른 트리거가 실행되어 다른 테이블에 영향을 미칠 수 있습니다. 모든 것을 똑바로 유지하는 것이 어떻게 가능합니까? SQL은이 머신 건 스타일 트리거를 트리거 실행 컨텍스트로 처리합니다.
INSERT, DELETE 및 UPDATE 작업의 연속은 해당 작업이 발생한 컨텍스트를 중첩하여 수행 할 수 있습니다. 트리거가 실행되면 실행 컨텍스트가 만들어집니다. 한 번에 하나의 실행 컨텍스트 만 활성화 할 수 있습니다. 이 컨텍스트 내에서 두 번째 트리거를 발생시키는 SQL 문이 실행될 수 있습니다. 이 시점에서 기존 실행 컨텍스트는 값을 스택에 푸시하는 것과 유사한 작업으로 일시 중단됩니다. 두 번째 트리거에 해당하는 새 실행 컨텍스트가 만들어지고 해당 작업이 수행됩니다.