目录
一、什么是触发器
1.概念
触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当 对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。
触发器是由事件触发的自动执行SQL语句块的特殊存储过程。事件一般包括,表操作(元组的增删改)或者表定义(表的新增,修改,定义)。他的作用一般用于关联操作和执行复杂的【check】的功能。
二、触发器分类
1.DML触发器
(1)DML触发器
DML触发器是在当对表进行数据操作时的会附加执行的代码。SqlServer中的DML触发器有三种:insert,update,delete触发器,分别在对表的相关操作发生时触发。
触发时,系统会自动在内存中创建inserted和deleted的表,分别存储修改前的数据和修改后的数据。例:insert触发器触发时会自动生成inserted表,可以在触发器语句中被引用。
(2)语法示例
先申明触发器,然后再在里面写条件发生时的sql语句即可
--定义DML触发器====================
declare Trigger Trigger_tableInsert
on table_name
after insert --定义DML触发器类型,insert 新增,delete 删除,update 更新
as
--触发时执行的SQL语句==============
--内存中会自动生成inserted表,表中保存的是修改后的数据
begin
--SQL语句
end
SSMS生成的模板
--SSMS生成模板=============