Oracle(觸發器刪除外鍵約束)

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章