我是靠谱客的博主 瘦瘦芹菜,最近开发中收集的这篇文章主要介绍MySQL学习之触发器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

对触发器的理解:

触发器和存储过程一样,都是嵌入在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学习之触发器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部