表grade,和表stu具有外键约束,数据表grade就不能随便删除数据 ,这时候就用触发器解决此类问题,即使有外键关联,也要删除。
--级联删除是指在建立外键约束时通过on delete cascade子句设置,这样在删除父表数据时,由父表数据关联的所有子表数据都会被同时删除
注意:触发器不能有事务,触发的过程中:事件(不能rollback)
create or replace trigger tri_grade_cascade
before delete on grade
for each row
begin
delete from stu where gid= :old.gid;
end tri_grade_cascade;
--尝试删除数据
delete from grade where gid=1;
commit;