SQL Server触发器简单例子

SQL Server触发器

触发器是一种特殊类型的存储过程,它用来强制业务规则和数据完整性,它在指定的表中的数据发生变化时自动生效。唤醒调用触发器以响应 INSERT、UPDATE 或 DELETE 语句。触发器可以查询其它表,并可以包含复杂的Transact-SQL语句。下面是一个简单的实例

数据库结构

SQL Server触发器简单例子
SQL Server触发器简单例子
SQL Server触发器简单例子
SQL Server触发器简单例子

DML(数据操作语言,Data Manipulation Language)触发器

DML触发器是一些附加在特定表或视图上的操作代码,当数据库服务器中发生数据操作语言事件时执行这些操作。SqlServer中的DML触发器有三种:
insert触发器:向表中插入数据时被触发;
update触发器:修改表中数据时被触发;
delete触发器:从表中删除数据时被触发。
DML触发器执行时,系统内存会自动生成deleted表或inserted表,执行结束会自动消失。

insert触发器:向表中插入数据时被触发

SQL Server触发器简单例子
SQL Server触发器简单例子
SQL Server触发器简单例子
当我插入books表,触发器帮我自动修改了BookTypes的Nums列,所以影响了两行

delete触发器:从表中删除数据时被触发

SQL Server触发器简单例子
其他基本同上

update触发器:修改表中数据时被触发

SQL Server触发器简单例子
当我修改了books表的TypeID时,触发器帮我修改了对应的修改前后BookTypes对应的Nums列,所以影响了三行