mysql触发器的要素_MySQL触发器
觸發(fā)器是一類特殊的事務(wù),可以監(jiān)視某種數(shù)據(jù)操作(insert,update,delete),并觸發(fā)相關(guān)操作(insert,update,delete)
觸發(fā)器創(chuàng)建之四要素:
監(jiān)視地點(diǎn)
(table)
監(jiān)視事件
(insert,update,delete)
觸發(fā)時(shí)間
(after,before)
觸發(fā)事件
(insert,update,delete)
舉個(gè)例子,有兩張表,分別是商品表goods和訂單表ord
當(dāng)下一個(gè)訂單的時(shí)候,對(duì)應(yīng)的商品要相應(yīng)減少(買幾個(gè)商品就少幾個(gè)庫(kù)存)
分析:
監(jiān)視誰(shuí):ord
監(jiān)視動(dòng)作:insert
觸發(fā)時(shí)間:after
觸發(fā)事件:update
那么就來(lái)寫(xiě)創(chuàng)建觸發(fā)器的語(yǔ)法:
delimiter $ ? ? (這是指定程序碰見(jiàn)$才結(jié)束,而不是以分號(hào)結(jié)束)
create trigger 觸發(fā)器名稱
after/before(觸發(fā)時(shí)間)
insert/update/delete(監(jiān)視事件)
on 表名(監(jiān)視地址)
for each row
begin
sql1;
...
sqlN;
end $
---------------------
我們可以看到我們的商品表已經(jīng)創(chuàng)建好了:
然后我們下訂單:
我想買3只貓,那么我們用觸發(fā)器來(lái)實(shí)現(xiàn)這個(gè)操作:
create triggert2
afterinsert
onordforeach rowbegin
update goods set num=num-new.much where gid=new.gid;end$
這就是微學(xué)網(wǎng)-程序員之家為你提供的"MySQL觸發(fā)器"希望對(duì)你有所幫助.本文來(lái)自網(wǎng)絡(luò),轉(zhuǎn)載請(qǐng)注明出處:http://www.weixuecn.cn/article/10109.html
總結(jié)
以上是生活随笔為你收集整理的mysql触发器的要素_MySQL触发器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 做对三件事,你也能像聪明人一样高速成长!
- 下一篇: 3dsmax导出html,3dsmax导