[sql] 트리거를 사용하여 데이터를 업데이트하는 방법은?
다음은 데이터베이스에서 트리거를 사용하여 데이터를 업데이트하는 방법을 보여주는 SQL 예제입니다.
-- 예: employees 테이블에서 salary 컬럼을 업데이트할 때, 해당 작업을 로그 테이블에 기록하는 트리거
CREATE TRIGGER log_salary_changes
AFTER UPDATE OF salary ON employees
FOR EACH ROW
BEGIN
INSERT INTO salary_log (employee_id, old_salary, new_salary, change_date)
VALUES (:OLD.employee_id, :OLD.salary, :NEW.salary, CURRENT_DATE);
END;
위 예제는 employees 테이블에서 salary 컬럼이 업데이트될 때마다 해당 작업을 salary_log 테이블에 기록하는 트리거를 생성하는 것을 보여줍니다.
트리거를 사용할 때에는 데이터베이스 제품에 따라 문법이나 기능이 다를 수 있으므로, 해당 데이터베이스의 공식 문서를 참고하는 것이 중요합니다.
이와 관련된 참고 자료:
- MySQL 트리거 문서: https://dev.mysql.com/doc/refman/8.0/en/create-trigger.html
- PostgreSQL 트리거 문서: https://www.postgresql.org/docs/current/plpgsql-trigger.html