1、了解什麼是觸發器?
mysql 的觸發器和儲存過程一樣,都是嵌入到mysql的一段程式,觸發器 是由事件觸發某個動作,這些事件包括,插入 ,更新、刪除等語句。如果定義了觸發程式,觸發器就會觸發執行相應的操作。
觸發器( trigger)是個特殊的儲存過程,不同的是,執行儲存過程要使用call語句來呼叫,而觸發器的執行不需要使用call語句來呼叫,也不需要手工啟動,只要當乙個預定義的事件發生的時候,就會被 mysql自動呼叫。比如當對 fruits表進行操作( insert、 delete或 update)時就會啟用它執行。觸發器可以查詢其他表,而且可以包含複雜的sql語句。它們主要用於滿足複雜的業務規則或要求。例如:可以根據客戶當前的賬戶狀態,控制是否允許插入新訂單。本節將介紹如何建立觸
髮器。2、檢視觸發器
show triggers;
3、刪除觸發器
drop
trigger num_sum;
4、建立觸發器
下面用乙個案例講解
4.1、建立業務統計表
create
table
`persons` (
`name`
varchar(40) not
null,
`num`
int(11) not
null
) engine=innodb default charset=utf8 comment='業務統計表';
4.2、建立銷售表
create
table
`sales` (
`name`
varchar(40) not
null,
`sum`
int(11) not
null
) engine=innodb default charset=utf8 comment='銷售額表';
4.3、建立乙個觸發器
create
trigger num_sum after
insert
on persons
foreach
rowinsert
into sales values(new.name,7*new.num);
4.4、向person表中插入記錄
insert
into persons values('zhangsan',20),('laidefa',24);
4.5、查詢persons表 和sales表
select * from persons;
select * from sales;
name num
zhangsan 20
laidefa 24
name sum
zhangsan 140
laidefa 168
從執行的結果來看,在persons表插入資料之後,num_sum觸發器,把資料同時插入 到sales 表
5.總結
5.1、使用觸發器時需要特別注意,對於相同的表 和相同的事件,只能建立乙個觸發器。
觸發器使用
觸發器是一種特殊的儲存過程,她不能被顯示的呼叫,而是在對錶增刪改操作後被啟用。所以可以用觸發器對來實施複雜的完整性約束。after 觸發器和instead of 觸發器 sql server 2000 支援兩種型別的觸發器 after 觸發器和instead of 觸發器。其中after 觸發器即為...
觸發器 mysql觸發器
觸發器是一種特殊的儲存過程,它在插入 刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。和儲存過程一樣,很少使用。1 觸發器的作用 2 建立觸發器 建立測試環境 mysql create database test db query ok,1 row aff...
MySql觸發器使用講解
觸發器 trigger 是由事件來觸發某個操作。這些事件包括insert語句 update語句和delete語句。當資料庫系統執行這些事件時,就會啟用觸發器執行相應的操作。mysql從5.0.2版本開始支援觸發器。在本文中將講解的內容包括 觸發器的含義和作用 如何建立觸發器 如何檢視觸發器 如何刪除...