mysql 觸發器
觸發器的元素:
事件和發生時間時執行的**。
觸發器的建立:
create trigger 名字 事件 執行性**。
觸發器的事件分為:
插入 insert 刪除 delete 修改 update 事件的時機: before執行之前 和 after執行之後. 由時機和事件在一起,形成了六種事件。
觸發器的注意事項:
乙個完整的事件應該規定,在哪張表上,什麼時機,什麼動作上。
create trigger trigger_name after update on table_name for each row update table_name set cz_money=cz_money-20;
create trigger 建立觸發器.
trigger_name:觸發器名字.
after update on table_name : 為 觸發的事件 當czbk_truendt 表發生update 時,觸發update table_name set cz_money=cz_money-20;這個語句!
注意:1. 觸發器不能重名 2.乙個表同乙個事件只能有乙個觸發器。
觸發器的 刪除 檢視
刪除: drop trigger name ; 檢視: show create trigger name;
觸發器的資料old和new
在觸發器內,獲得觸發該觸發程式時的資料,利用觸發程式內的 new 和 old 來完成。 old : 監聽事件所在表上的資料,在事件發生之前的資料,舊的資料。 new : 監聽表上,事件發生之後,新處理後的資料。 old.stu_money 表示 stu_money欄位老的資料,new.stu_money 表示 stumoney欄位 的 新的資料;如果是 insert 事件 不能使用 old; 如果是 delete 事件 不能使用 new。
如果乙個觸發程式,由多條sql 語句應該怎麼辦:
1. 語句組成語句塊用(begin end)來標示語句塊。
2. 語句組中的每個語句後需要用語句結束符來分割 ;如果使用分號作為每個語句的結束符那麼mysql可能會認為第乙個語句結束就是觸發器的結束,所以我們需要在建立觸發器前修改語句結束符,觸發器建立結束後在修改回來。
delimiter 命令可以設定命令結束符。
delimiter $$;//將命令結束符號該為$$
create trigger ruxue
after insert on czbk_student for each row
begin//觸發語句組開始
update class set stu_cout=stu_count+1;//應為在上面講結束符改為$$ 了所以分號不會結束語句
update class set cz_money=cz_money+20;
end $$//觸發語句組結束 使用$$ 結束觸發器命令
delimiter;在將語句結束符修改回來!
flash事件偵聽器示例彙總
事件的偵聽器 廣播器模型與事件處理函式方法不同,它允許多個 片斷互不衝突地偵聽同一事件。這麼說吧,就好像訂報紙,我們可以每隔5分鐘去看一次報紙到沒到,如果您的時間很充裕的話 也可以跟報刊店的老闆打聲招呼,告訴他報紙到了,就給送來。很明顯,後者的效率遠高於前者,在flash裡面前者就像這樣 this....
Vue Watch 偵聽器屬性
watch vm.watch exporfn,callback,options 用法 鍵路徑 vm.watch a.b.c function newval,oldval 函式 vm.watch function function newval,oldval 沒有快取性,更多的是觀察的作用,可以監聽某...
計算屬性和偵聽器
1 計算屬性快取 vs 方法 將乙個函式定義為計算屬性和方法得到的結果是相同的。但不同的是計算屬性是基於它們的依賴進行快取的,只是在相關依賴發生改變時才會重新求值。方法 methods 計算屬性 computed 2 計算屬性 vs 偵聽屬性 偵聽屬性 觀察和響應vue例項上的資料變動 watch ...