1.觸發器的作用
2.delimiter的作用
3.觸發器的實現
4.new 和 old 的使用
1.觸發器的作用:
觸發器用於操作乙個表的時候同時能夠操作另乙個表。例如,在a表中,新增乙個資訊,然後同時自動在b表中新增相同的資訊。
當然在a表中,新增資料時,同時自動在b表中刪除資料也可以。反正就是只要 發生對a表指定的操作,就會觸發設定好的對b表的操作。
這樣做,當兩個表有關聯時,可以很方便。
2.delimiter的作用:
3.觸發器的實現:
觸發器的建立例子:
第一行
:表示分隔符換成 $$
第二行:create trigger 為固定格式,t1 為觸發器的名字,before
insert on zje 表示當 zje表 進行 insert 操作 之前。觸發觸發器語句。
當然,before可以換成after 表示觸發器在對zje表操作之後執行。而 insert 的位置只有(insert,update,delete)這三個能填,select不能。
第三行:for each row 是固定格式。
第四行和第六行:begin 和 end 也是固定格式。而end後跟的必須是分隔符。
第五行:是觸發器執行的語句
上述的全部語句表示:建立乙個觸發器,作用為 在對 zje 表進行insert 之前,把eva表中 chin欄位少於60的資料刪除。
檢視是否建立了觸發器:
show triggers from zje;//表示檢視 zje表中的所有觸發器。
刪除觸發器:
drop trigger trigger_name ; //刪除名為 trigger_name的觸發器
4.new和old的使用:
如:
delimiter $$
create trigger t1 before update on zje
for each row
begin
set @arg1 = new.math;
set @arg2 = old.math;
end$$
delimiter ;
例如一開始 zje中xiaoming的mat成績是59,對zje表進行,update zje set math = math + 1 where name=「xiaoming」;
而arg1 = 60,而arg2 = 59;
換言之,new表示對錶zje操作之後的數,而old則是表zje在被操作之前的數
積分觸發器 mysql 觸發器的使用
將多個資料庫中的某列資料同步時需要用到mysql觸發器,以下可做參考,已簡單測試ok.修改紅棗的積分時觸發 drop trigger if exists u hongzaocount delimiter create trigger u hongzaocount after update on ho...
mysql 觸發器 觸發器使用
1 了解什麼是觸發器?mysql 的觸發器和儲存過程一樣,都是嵌入到mysql的一段程式,觸發器 是由事件觸發某個動作,這些事件包括,插入 更新 刪除等語句。如果定義了觸發程式,觸發器就會觸發執行相應的操作。觸發器 trigger 是個特殊的儲存過程,不同的是,執行儲存過程要使用call語句來呼叫,...
觸發器(五 復合觸發器)
oracle11g開始提供了一種復合觸發器,簡單的說就是支援把語句級和行級觸發器組合在一起。實際應用場景不多,這裡就做個記錄。與單個觸發器語法有所區別 1.單個觸發器的頭部是 before after 動作 on 物件 for 觸發級別 而組合觸發器的頭部是 for 動作 on 物件 compoun...