数据表触发器
1.概念
- 觸發(fā)器就是在表數(shù)據(jù)發(fā)生變化的時(shí)候,自動(dòng)觸發(fā)的一些 SQL 操作,查詢不影響表中的數(shù)據(jù),所以沒(méi)有觸發(fā)器。
- 類似于web監(jiān)聽(tīng)器機(jī)制,監(jiān)聽(tīng)對(duì)應(yīng)表的增刪改。
2.觸發(fā)器分類
| INSERT 類型的觸發(fā)器 | 無(wú)(因?yàn)椴迦肭?#xff0c;沒(méi)有之前的數(shù)據(jù)) | NEW 表示將要或者已經(jīng)新增的數(shù)據(jù) |
| UPDATE 類型的觸發(fā)器 | OLD 表示修改之前的數(shù)據(jù) | NEW 表示將要或者已經(jīng)修改后的數(shù)據(jù) |
| DELETE 類型的觸發(fā)器 | OLD 表示將要或者已經(jīng)修改的數(shù)據(jù) | 無(wú)(因?yàn)閯h除后,狀態(tài)無(wú)數(shù)據(jù)) |
3.觸發(fā)器創(chuàng)立語(yǔ)法
DELIMITER $ --定義臨時(shí)語(yǔ)句結(jié)束符號(hào)CREATE TRIGGER 觸發(fā)器的名稱 -- BEFORE|AFTER表示在操作之前還是操作之后執(zhí)行日志記錄 BEFORE|AFTER INSERT|UPDATE|DELETE ON 需要監(jiān)測(cè)的表名稱 FOR EACH ROW BEGIN觸發(fā)器要執(zhí)行的功能; END$DELIMITER ;4.各種類型的觸發(fā)器應(yīng)用舉例
賬戶表account
日日志表account_log
<1>INSERT 觸發(fā)器
創(chuàng)建INSERT型觸發(fā)器。用于對(duì)account表新增數(shù)據(jù)進(jìn)行日志的記錄
account_log查詢結(jié)果:
<2>UPDATE 觸發(fā)器
創(chuàng)建UPDATE型觸發(fā)器。用于對(duì)account表修改數(shù)據(jù)進(jìn)行日志的記錄
account_log查詢結(jié)果:
<3>DELETE 觸發(fā)器
創(chuàng)建DELETE型觸發(fā)器。用于對(duì)account表刪除數(shù)據(jù)進(jìn)行日志的記錄
account_log查詢結(jié)果:
5.查看/刪除本數(shù)據(jù)庫(kù)中觸發(fā)器
- 1.查看觸發(fā)器
- 2.刪除觸發(fā)器
總結(jié)
- 上一篇: 力加偏旁组成新字怎么写(10个字学法技巧
- 下一篇: 事务的概述