作者:富农032884 | 来源:互联网 | 2023-10-12 19:33
一、触发器的概念
我们都知道,需求带动进步。
问题一:那么我们为什么需要触发器呢?
试想这样一种情况,假如你事先创建了一个学生记录表,这个表的字段包括:学生名字、学生数,那么每次添加一条学生记录,学生总数是否也需要发生改变?
像这样,在对表进行修改的同时也需要进行一些自动处理,触发器就可以发挥作用。
触发器,由什么触发?答:由表事件触发。
准确来说,触发器是由事件触发、激活从而实现执行的数据库对象。
问题二:哪些事件触发呢或者说出现哪些语句会自动执行设置的操作呢?
二、触发器的创建
按照激活触发器执行语句的数目,分为“一条执行语句的触发器”和“多条执行语句的触发器”
1、创建“一条执行语句的触发器”
#语法形式#
CREATE TRIGGER trigger_name BEFORE(AFTER) trigger_event ON table_name FOR EACH ROW trigger_STMT
注释:
trigger_name:创建的触发器的名字
trigger_event:触发触发器的条件,包含DELETE INSERT UPDATE语句
table_name:触发事件操作表的名字
FOR EACH ROW:操作表上任何一条记录操作满足触发条件,都会触发触发器
trigger_STMT:激活触发器后执行的语句
2、创建“多条执行语句的触发器”
#语法形式#
DELIMITER @@//设置结束符号为"@@",因为";"为执行语句的结束标志
CREATE TRIGGER trigger_name BEFORE(AFTER) trigger_event ON table_name FOR EACH ROW
BEGIN
trigger_STMT
END
@@
DELIMITER ;//还原结束符号为“;”
注:sqlyog亦可创建触发器,但由于本系列学习笔记主要在于学习sql语句,因此不再用sqlyog创建