반응형
트리거는 방아쇠를 당긴다는 의미이지만 데이터베이스에서 말하는 트리거는 조금 다른의미이다.
우선 트리거에 대해 위키 설명은 아래와 같다.
https://en.wikipedia.org/wiki/Database_trigger
데이터베이스 트리거는 데이터베이스 의 특정 테이블 이나 뷰 에 대한 특정 이벤트 에 대한 응답으로 자동으로 실행되는 절차적 코드 입니다 . 트리거는 주로 데이터베이스 정보의 무결성을 유지하는 데 사용됩니다. 예를 들어 새 직원을 나타내는 새 레코드가 직원 테이블에 추가되면 세금, 휴가 및 급여 테이블에도 새 레코드가 생성되어야 합니다. 트리거는 직원의 이전 급여를 추적하는 등 기록 데이터를 기록하는 데에도 사용할 수 있습니다. |
간단히 말해 특정 이벤트 발생을 하면 이어서 동작하거나 이전에 동작하도록
이벤트를 감지해서 특정 작업을 하게 설정을 하는것이다.
유형은 아래와 같다.
트리거 유형
트리거는 크게 행 트리거와 문장 트리거가 존재한다.
- 행 트리거 : 테이블 안의 영향을 받은 행 각각에 대해 실행된다. 변경 전 또는 변경 후의 행은 OLD, NEW라는 가상 줄 변수를 사용하여 읽을 수 있다.
- 문장 트리거 : INSERT, UPDATE, DELETE 문에 대해 한 번만 실행된다.
또한 트리거는 다음과 같은 속성을 갖는다.
- BEFORE 또는 AFTER : 트리거가 실행되는 시기를 지정한다.
- INSTEAD OF : 트리거를 원래 문장 대신 수행한다.
- WHEN : 트리거를 시작하는 조건식을 지정한다.
일반적으로 트리거는 다음의 3 가지 경우에 시작된다. 트리거는 SELECT 문에 의한 데이터 검색에 영향을 미칠 수 없다.
- INSERT (새로운 행 삽입)
- UPDATE (기존 행의 변경) / UPDATE OF (기존 행의 특정 열 변경)
- DELETE (기존 행 삭제)
반응형
'IT > Knowledge' 카테고리의 다른 글
Heroku 란? (23) | 2024.02.24 |
---|---|
Kafka 의 Acknowledgement (AcksMode) (13) | 2024.02.23 |
[kafka] 컨슈머 그룹이란? (20) | 2024.02.11 |
샤딩(Sharding) 이란? (22) | 2024.02.04 |
파티셔닝 이란? (22) | 2024.01.24 |
댓글