CREATE OR REPLACE TRIGGER del_trigger BEFORE DELETE ON departments FOR EACH ROW BEGIN DELETE FROM employees t WHERE t.department_id = :new.department_id; END; /
其实可以设置外键删除为级连删除来实现,不一定要写触发器,如 --删除原来的外键 alter table hr.EMPLOYEES drop constraint EMP_DEPT_FK;
--重新增加外键并设置级连删除 alter table hr.EMPLOYEES add constraint EMP_DEPT_FK foreign key (DEPARTMENT_ID) references hr.DEPARTMENTS (DEPARTMENT_ID) on delete cascade;
BEFORE DELETE ON departments
FOR EACH ROW
BEGIN
DELETE FROM employees t WHERE t.department_id = :new.department_id;
END;
/
--删除原来的外键
alter table hr.EMPLOYEES
drop constraint EMP_DEPT_FK;
--重新增加外键并设置级连删除
alter table hr.EMPLOYEES
add constraint EMP_DEPT_FK foreign key (DEPARTMENT_ID)
references hr.DEPARTMENTS (DEPARTMENT_ID) on delete cascade;