mysql事件偵聽器 mysql 觸發器

2021-10-19 03:36:10 字數 1461 閱讀 9942

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 ...