[sql] 데이터베이스 트리거와 이벤트

데이터베이스에서 트리거는 특정 이벤트가 발생했을 때 자동으로 실행되는 작은 코드 조각입니다. 이를 통해 데이터베이스 시스템은 데이터 변경, 삽입, 삭제, 업데이트 등의 작업에 대한 특정 동작을 자동화할 수 있습니다.

트리거의 사용 예

이벤트란 무엇인가요?

데이터베이스에서 이벤트는 데이터 변경 또는 특정 조건이 충족될 때 발생하는 동작을 말합니다. 이벤트는 주로 데이터베이스 트리거와 연결되어 트리거가 실행되도록 유발합니다.

이벤트의 종류

  1. INSERT: 새로운 레코드가 삽입될 때 발생하는 이벤트
  2. UPDATE: 기존 레코드가 업데이트될 때 발생하는 이벤트
  3. DELETE: 레코드가 삭제될 때 발생하는 이벤트

예제

다음은 MySQL에서 트리거를 만드는 예제입니다:

CREATE TRIGGER customer_credit_update
AFTER UPDATE ON orders
FOR EACH ROW
BEGIN
  IF NEW.order_amount > 1000 THEN
    UPDATE customers
    SET credit_level = 'VIP'
    WHERE id = NEW.customer_id;
  END IF;
END;

위의 예제에서는 orders 테이블에서 레코드가 업데이트될 때마다 실행되는 customer_credit_update 트리거를 생성합니다. 주문 금액이 1000을 초과하면 해당하는 고객의 신용 등급이 ‘VIP’로 업데이트됩니다.

참고 자료