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、及时删除不再需要的触发器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值