目录
触发器
1、概述
1.1、概念理解
1.2、分类
1.3、inserted和deleted表
2、触发器的管理
2.1、创建和执行触发器
2.2、查看触发器
2.3、修改触发器
2.4、启用、禁用、删除触发器
触发器
1、概述
1.1、概念理解
触发器是一种特殊类型的存储过程,用来强制执行业务规则。在调用执行上,触发器不能像存储过程那样可以有用户通过T-SQL语句直接调用,而是需要由数据库所发生的insert、updat和delete事件的执行来激发触发器的自动执行。因此在创建和使用触发器时,需要考虑好触发事件和被触发事件后,再设计和创建触发器,以完成用户需求。
触发器可以像约束一样,在数据表或视图中的数据发生改变时强制执行业务规则。在某种程度上来说,触发器要优于约束,因为触发器可以包含使用T-SQL语言编写的复杂代码,可以涉及其它数据表中的数据。约束能够完成的功能触发器都可以做到,但它所给出的解决方案并不一定总是最好的。因此,约束和触发器在不同情况下各有优势。
与创建存储过程一样,创建触发器的语句必须存在于同一个批处理中。
1.2、分类
按照触发事件的语言分类,可以将触发器分成DML触发器和DDL触发器。
DML触发器是指可以被对数据表的insert、update和delete操作所触发的触发器。DDL触发器是指可以被对数据库对象的create、alter和drop操作所触发的触发器。两种触发器的创建、修改和删除方法相似,因此这里只介绍DML触发器。
注意: for关键字作用与 after 关键字相同
1.3、inserted和deleted表
2、触发器的管理
2.1、创建和执行触发器
这里是以文本格式显示结果。
结果中的第一行显示了“记录未修改!”的提示信息,同时显示出“客户信息表”的全部记录信息,说明触发器“t_客户信息表_电话no”中的“被触发事件”成功执行。 在结果显示的“客户信息表”中,客户编号为0001的客户手机号码未按题目要求修改的13600004444,说明“触发事件”update命令没有执行。