一、触发器知识点摘要:
实际应用中,我们经常会遇到在对SQL Server的某一张表进行增加、删除、修改操作时,需同步更新同一数据库或不同数据库的另一张表,此时我们可以使用SQL Server 的表触发器来实现。
使用触发器时,我们会用到触发器的两个临时虚拟表:Deleted表、Inserted表,它们用于存储【创建触发器表】的记录变动信息,即发生触发事件时对应的【一条旧记录】和【一条新记录】,各触发事件对应表数据如下:
表触发事件
虚拟表Inserted
虚拟表Deleted
新增记录
存放新增的记录
空
修改记录
存放用来更新的新记录(新记录)
存放更新前的记录(旧记录)
删除记录
空
存放被删除的记录
举例说明:
修改记录时,触发Update事件,Update的过程可以看作为:复制旧记录到Deleted表、生成新的记录到Inserted表,然后删除表记录并写入新纪录。
二、如何创建触发器:
以SQL Server2008R2为基础,在【数据库A.dbo.表TA】表发生变化时,同步触发【数据库B.dbo.表TB】例,两张表结构如下图:
创建触发器步骤如下:</