MySQL是一款廣泛使用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),支持創(chuàng)建觸發(fā)器來實現(xiàn)在數(shù)據(jù)庫中自動執(zhí)行操作的目的。以下是使用MySQL創(chuàng)建觸發(fā)器刪去課程的示例:
DELIMITER // CREATE TRIGGER delete_course BEFORE DELETE ON courses FOR EACH ROW BEGIN DELETE FROM students_courses WHERE course_id = OLD.id; END // DELIMITER ;
在上面的代碼示例中,我們首先使用DELIMITER語句來改變MySQL命令終止符,因為觸發(fā)器定義需要包含多條SQL語句。然后,我們創(chuàng)建了一個名為delete_course的觸發(fā)器,該觸發(fā)器在每次從courses表中刪除記錄之前自動執(zhí)行。
當(dāng)觸發(fā)器被激活時,它會對每個被刪除的記錄執(zhí)行DELETE FROM語句,該語句會從students_courses表中刪除所有與該課程相關(guān)的數(shù)據(jù)。這保證了在刪除課程之前,所有與該課程相關(guān)的學(xué)生記錄也會被自動刪除。
最后,我們使用DELIMITER語句將MySQL命令終止符改回默認(rèn)值,這樣就可以繼續(xù)使用常規(guī)SQL語句。