触发器

1.触发器是做什么的

    触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象。

    简单的来说就是:是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行

2.语法
CREATE TRIGGER trigger_name trigger_time trigger_event
    ON tbl_name FOR EACH ROW trigger_stmt
begin
......
end

trigger_time是触发程序的动作时间。它可以是before或after,以指明触发程序是在激活它的语句之前或之后触发。

trigger_event指明了激活触发程序的语句的类型。trigger_event可以是下述值之一:

    ·insert:将新行插入表时激活触发程序,例如,通过insert 、load data和replace语句。

    ·update:更改某一行时激活触发程序,例如,通过update语句。

    ·delete:从表中删除某一行时激活触发程序,例如,通过delete和replace语句。

注意:对于具有相同触发程序动作时间和事件的给定表,不能有两个触发程序。例如,对于某一表,不能有两个before update触发程序。但可以有1个before update触发程序和1个before insert触发程序,或1个before update触发程序和1个after update触发程序。

3.举例

学生表

班级表


实现一个在学生表中增加学生的操作并触发班级表中num的更新


下面进行插入

insert into stu (name,classID) values('Jam',1)

重新查看表中的数据:


显示插入成功,在查看class表中的数据


触发器执行完成

4.出发器在什么情况下使用

    (1)如例子:在执行某一个事件的操作会导致另一个事件的改变,但又不想自己手动同步另一个事件

    (2)数据库同步

        在数据库表上部署触发器,通过触发器将CUD操作的数据捕获并保存到到临时中间表,每条记录需要有操作属性,Insert  Delete  Update,然后通过间隔调度任务读取中间表变化数据 封装为消息,进行传输

    (3)以后继续添加。。。。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值