머리말
오늘은 트리거 사용에 대해 정리할 예정입니다. 프로젝트에서 트리거 사용을 권장하지 않는 경우가 많지만, 트리거 사용법을 이해해야 합니다.
문자 메시지
트리거 사용. 오늘 사용할 테이블을 준비하세요. NewTest 테이블과 NewTest_log 테이블을 생성하세요
#유발 요인
이는 스스로 호출되는 것이 아니라 특정 연산(예: 이벤트)을 수행하면 자동으로 조작되는 특별한 저장 프로시저입니다. 사용: 행동을 모니터링하고 제약 조건을 보충합니다. 서론에서 트리거는 일반적으로 성능과 유지보수에 권장되지 않는다고 언급되어 있습니다. 실제 프로젝트에서는 트리거를 쉽게 알아차리지 못해 이후 유지보수에 어려움을 초래할 수 있습니다.
테이블 데이터에 대한 모든 작업은 이 두 테이블에 임시로 저장됩니다,"삽입됨”,“삭제됨”。 이 두 임시 테이블을 사용해 일부 데이터를 기록하거나 비즈니스를 제한하고 수정할 수 있습니다.
NewTest 테이블에 트리거를 만들어 보겠습니다:
이 트리거를 만든 후, 테이블 데이터를 삭제하겠습니다 "ADB에서 삭제하세요.. NewTest", 그리고 쿼리 "ADB에서 * 선택 NewTest이 표의 데이터는 삭제되지 않은 것으로 확인되었습니다. 우리가 만든 트리거 때문에 테이블 데이터가 삭제되면 새 데이터 추가라는 문장이 실행됩니다. 테이블 데이터 변화를 모니터링하고 관련 로그를 기록하는 트리거를 사용할 수 있습니다.
NewTest 테이블에 트리거를 생성하고, 새 데이터가 추가되면 해당 데이터를 해당 로그 테이블에 로그합니다:
새로운 문장 실행[dbo]를 삽입하세요. [NewTest] ( [ [이름], [나이], [성별], [금액]) 가치 (N'Xiaohuang', 18, N'm', 20)우리는 곧 들어갈 거야NewTest_log"이 테이블은 또한 작전 시간, 작전 유형, 착륙자 등을 기록하는 기록을 생성합니다.
그렇다면 트리거에서 데이터가 삭제되고 수정되어 연산에 추가되었는지 어떻게 판단할 수 있을까요? 아직 두 임시 테이블, '삽입됨'과 '삭제됨'을 봐야 합니다.
새로운 연산: 삽입된 테이블에는 데이터가 있지만, 삭제된 테이블에는 데이터가 없습니다. 삭제 작업: 삽입된 테이블에는 데이터가 없고, 삭제된 테이블에는 데이터가 있습니다. 연산 수정: 삽입된 테이블에 데이터가 있고(새 데이터), 삭제된 테이블에 데이터가 있습니다(이전 데이터).
이 두 임시 테이블의 데이터를 이용해 해당 작업을 판단하고 해당 비즈니스 작업을 실행할 수 있습니다
에필로그
귀여운 여러분, 데이터베이스의 기초가 끝났고, 다음 부분에서는 실수로 삭제되고 수정된 데이터를 복구하는 방법을 기록할 것입니다.
|