트리거 테스트
이 단계에서는 트리거의 동작을 테스트합니다. employees 테이블에 데이터를 삽입한 다음 급여를 업데이트하여 트리거가 salary_changes 테이블의 변경 사항을 올바르게 기록하는지 확인합니다.
먼저, employees 테이블에 초기 데이터를 삽입합니다.
INSERT INTO employees (name, salary) VALUES ('Alice', 50000.00);
INSERT INTO employees (name, salary) VALUES ('Bob', 60000.00);
이제 Alice 의 급여를 업데이트합니다.
UPDATE employees SET salary = 55000.00 WHERE name = 'Alice';
트리거가 제대로 작동했는지 확인하려면 salary_changes 테이블을 쿼리합니다.
SELECT * FROM salary_changes;
salary_changes 테이블에서 Alice 의 급여 변경에 대한 정보가 있는 행을 볼 수 있습니다.
다음으로, Bob 의 급여를 이미 가지고 있는 동일한 값으로 업데이트합니다.
UPDATE employees SET salary = 60000.00 WHERE name = 'Bob';
급여가 실제로 변경되지 않으므로 트리거는 salary_changes 테이블에 새 행을 삽입하지 않아야 합니다. 이를 확인해 보겠습니다.
SELECT * FROM salary_changes;
Alice 의 급여 변경과 관련된 하나의 행만 계속 표시되어야 합니다.
마지막으로, 새 직원을 삽입합니다.
INSERT INTO employees (name, salary) VALUES ('Charlie', 70000.00);
새 직원을 삽입하는 것은 UPDATE 이벤트에서만 실행되도록 설정되어 있으므로 log_salary_change 트리거를 활성화하지 않아야 합니다. salary_changes 테이블을 다시 확인하여 이를 확인해 보겠습니다.
SELECT * FROM salary_changes;
Alice 의 급여 변경과 관련된 하나의 행만 계속 표시되어야 합니다.