觸發(fā)器可以簡(jiǎn)單理解一種特殊的存儲(chǔ)過程,之前存儲(chǔ)過程的變量定義及流程語句同樣適合觸發(fā)器,唯一不同的是我們只需要定義觸發(fā)器,而不用手動(dòng)調(diào)用觸發(fā)器。從事件觸發(fā)的角度來說,觸發(fā)器編寫的過程就是觸發(fā)事件定義的過程,因?yàn)橛|發(fā)器定義好后會(huì)隨著數(shù)據(jù)庫(kù)操作命令的執(zhí)行而觸發(fā),這些具體的操作是INSERT/UPDATE/DELETE。比如可以在user表中刪除記錄執(zhí)行后,通過定義一個(gè)觸發(fā)器把刪除的數(shù)據(jù)自動(dòng)添加到歷史表中保存以便以后可以進(jìn)行其他操作。創(chuàng)建觸發(fā)器的語法如下:
CREATE TRIGGER trigger_name trigger_time
trigger_event ON tbl_name FOR EACH ROW
BEGIN
trigger_stmt
END

例如下面創(chuàng)建個(gè)觸發(fā)器,當(dāng)刪除employee表一條數(shù)據(jù)就會(huì)執(zhí)行一次 往history表里面插入一條記錄的觸發(fā)器,看到OLD這個(gè)了?這個(gè)就是原數(shù)據(jù)的對(duì)象,可取出原數(shù)據(jù)!




本文來源于:宋文超super,專屬平臺(tái)有csdn、思否(SegmentFault)、 簡(jiǎn)書、 開源中國(guó)(oschina),轉(zhuǎn)載請(qǐng)注明出處。