表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;