概述
触发器器的概念:
触发器是一种特殊类型的存储过程,不由用户直接调用,而且可以包含复杂的 SQL语句。它们主要用于强制复杂的业务规则或要求。触发器还有助于实现强制域的完整性,以便在添加、更新或删除表中的数据时保留表之间已定义的关系。它不仅可以完成存储过程能完成的功能,也具有自己显著的特点:
1)它与表紧密相连,可以看作表定义的一部分;
2)它不能通过名称被直接调用,更不允许带参数,而是当用户对表中的数据进行增删改操作时,自动执行;
3)它可以用于约束、默认值和规则的完整性检查,实施更为复杂的数据完整性约束。
创建触发器语法格式:
CREATE TRIGGER 触发器名 触发时间 触发事件
ON 表名 FOR EACH ROW
触发器动作
Ø
触发时间
:
触发器触发的时刻,有两个选项:
AFTER
和
BEFORE
,以表示触发器是在激活它的语句之前或之后触发。
after
是先完成数据的增删改,再
触发动作,
触发的语句晚于监视的增删改操作,无法影响前面的增删改动作
;
before
是先完成触发,再增删改,触发的语句先
于增删改的操作,我们可以提前判断即将
发生的
操作。
Ø
触发
事件
:指明了激活触发程序的语句的类型。触发事件可以是下述值之一:
INSERT:将新行插入表时激活触发器。
UPDATE:更改某一行时激活触发器。
DELETE:从表中删除某一行时激活触发器。
Ø
触发器动作
:
包含触发器激活时将要执行的语句。如果要执行多个语句,可使用
BEGIN ... END
复合语句结构。这样,就能使用存储过程中允许的相同语句
。
课堂练习:当Class表中的ClassNO列修改时,Student表中的ClassNo也随之更新
Class表:
Student表:
创建触发器:
修改class中的classno为 100003:
触发结果:
此时student表中的100001已经修改为100003
最后
以上就是欣慰路人为你收集整理的MySQL(触发器)及课堂练习的全部内容,希望文章能够帮你解决MySQL(触发器)及课堂练习所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复