DML触发器分为 After触发器和instead of 触发器
建议使用 instead of类型触发器
SQL触发器中deleted表与inserted表详解
在触发器中,deleted表与inserted表是两个很特殊的表。我们 知道SQL中,触发器是一个特殊的存储过程,主要用来保持数据的完整性,避免异常产生。而deleted表和inserted表就是为了存储修改和删除之 后的数据,并且这两个表存储在内存中,从而加快了存取速度。
触发器有两种类型,一种是 after类型的触发器,一种是instead of类型的触发器。这两种触发器最大的区别就是在instead of类型的触发器中可以使用text、ntext和image数据,而after类型的触发器则不行。
简单的说,这两个表存储着最近用户修改的数据。deleted表存储删除之前的数据,inserted存储插入之后的数据。
Delete操作 deleted表有数据,而inserted表无数据(存储删除之前的数据)
Inserted操作 deleted表无数据,而inserted表有数据(存储插入之后的数据)
Update操作 可看做是先删除旧的数据,在插入新的数据,即deleted存储旧数据,而inserted表存储新数据。
建议使用 instead of类型触发器