테이블이 업데이트되고 트리거에 의해 뷰가 업데이트 될 때 트리거 대신 작동 시키려고합니다.트리거 대신 트리거하는 방법
CREATE OR REPLACE TRIGGER increase_boss_sub_salary
INSTEAD of UPDATE ON emp_sub_view
FOR EACH ROW BEGIN
UPDATE employees
SET salary = salary * 1.05
WHERE employee_id = :old.employee_id;
END;
emp_sub_view는 employee_subordinates 뷰입니다.
employee_subordinates가 작동하는 트리거에 의해 트리거됩니다.
CREATE OR REPLACE TRIGGER keep_sub_count
AFTER DELETE OR INSERT OR UPDATE ON EMPLOYEES
FOR EACH ROW BEGIN
IF DELETING OR UPDATING
THEN
UPDATE employee_subordinates
SET subcount = subcount - 1
WHERE employee_id = :old.manager_id;
END IF;
IF INSERTING OR UPDATING
THEN
UPDATE employee_subordinates
set subcount = subcount + 1
WHERE employee_id = :new.manager_id;
END IF;
END;
나는 새로운 직원으로 직원을 업데이트합니다. 그러면 keep_sub_count 트리거가 트리거되어 employee_subordinates와 emp_sub_view 뷰가 업데이트됩니다. emp_sub_view가 변경 되었기 때문에 increase_boss_sub_salary 트리거가 트리거되지 않습니까? 나는 해고당하는 것 같지 않아.