概述
对触发器的理解:
触发器和存储过程一样,都是嵌入在MySQL中的一段程序,两者区别是:触发器是由事件触发产生,而存储过程则是由call来调用的。触发器主要用于满足复杂的业务要求。
一、创建触发器
1、创建一个执行语句的触发器
Create trigger trigger_name trigger_time trigger_event
On table_name for each row trigger_stmt
实例:
Create table accoutn(acct_num int ,amount decimal(10,2));
Create trigger ins_sum before insert on account
For each row set@sum=@sum+new.amount;
Set @sum=0;
Insert into account values (1,1.00),(2,2.00);
Select @sum;
2、创建多个执行语句的触发器
Create trigger trigger_name trigger_time trigger_event
On table_name for each row
Begin
语句执行列表
End
实例:
Create table test1( a1 int);
Create table test2(a2 int);
Create table test4(a4 int not null auto_increment primary key,b4 int default 0);
Delimiter //
Create trigger testref before insert on test1
For each row begin
Insert into test2 set a2=new.a1;
Delete from test3 where a3=new.a1;
Update test4 set b4=b4+1 where a4=new.a1;
End
//
Dilimiter ;
Insert into test4 (a4) values
(0),(0),(0),(0),(0),
(0),(0),(0),(0),(0);
Insert into test1 values (1),(3),(1),(7),(1),(8),(4),(4);
Select * from test1;
Select * from test2;
Select * from test4;
二、查看触发器
1、用show triggers;查看
2、在triggers表中查看触发器信息
Select * from information_schema.triggers where condition;
三、触发器的使用——特定事件发生激活对象
四、删除触发器
Drop trigger [schema_name.] trigger_name;
注意:
1、使用触发器得特别注意,同表同事件只能创建一个触发器,灵活使用触发器会为操作节省不少时间。
2、及时删除不再需要的触发器
最后
以上就是瘦瘦芹菜为你收集整理的MySQL学习之触发器的全部内容,希望文章能够帮你解决MySQL学习之触发器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复