본문 바로가기
IT/Knowledge

Trigger 란? (트리거)

by 성준하이 2024. 2. 16.
반응형

트리거는 방아쇠를 당긴다는 의미이지만 데이터베이스에서 말하는 트리거는 조금 다른의미이다.

 

 

우선 트리거에 대해 위키 설명은 아래와 같다.

https://en.wikipedia.org/wiki/Database_trigger

 

Database trigger - Wikipedia

From Wikipedia, the free encyclopedia Database code that executes after certain events on a table A database trigger is procedural code that is automatically executed in response to certain events on a particular table or view in a database. The trigger is

en.wikipedia.org

데이터베이스 트리거는 데이터베이스 의 특정 테이블 이나 뷰 에 대한 특정 이벤트 에 대한 응답으로 자동으로 실행되는 절차적 코드 입니다 . 트리거는 주로 데이터베이스 정보의 무결성을 유지하는 데 사용됩니다. 예를 들어 새 직원을 나타내는 새 레코드가 직원 테이블에 추가되면 세금, 휴가 및 급여 테이블에도 새 레코드가 생성되어야 합니다. 트리거는 직원의 이전 급여를 추적하는 등 기록 데이터를 기록하는 데에도 사용할 수 있습니다.

 

간단히 말해 특정 이벤트 발생을 하면 이어서 동작하거나 이전에 동작하도록

이벤트를 감지해서 특정 작업을 하게 설정을 하는것이다.

 

유형은 아래와 같다.

트리거 유형

트리거는 크게 행 트리거와 문장 트리거가 존재한다.

 

  • 행 트리거 : 테이블 안의 영향을 받은 행 각각에 대해 실행된다. 변경 전 또는 변경 후의 행은 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) 이란?  (21) 2024.02.04
파티셔닝 이란?  (22) 2024.01.24

댓글