sql server触发器中自动生成的临时表 |
本文标签:sql server触发器 在sql server中,建立sql server触发器后,会生成deleted 和inserted表,这两张表可以理解为临时表,下面就为您介绍sql server触发器中自动生成的临时表,供您参考 。 sql server触发器中,系统自动会生成两张临时表,分别是deleted 和inserted 它们是逻辑(概念)表 。也可理解为是临时表 。 为方便理解,可以这么来认为Inserted表和Deleted表的作用:Inserted表就是放新的记录,Delete表就是放旧的记录 。并且,它们的表结构与原表是完全相同的 。 1 。当你插入时,要插入的记录是新的,所以可以在Insert表中找到 。 如:table1中本来就有N条记录,但执行 insert into table1 value(1) 那么,在table1的sql server触发器的Inserted表中,有且仅有同样一条记录 。 2 。当你更新时,要更新的记录是新的,所以可以在Inserted表中找到,被更新的记录是旧的,所以可以在Deleted表中找到 。 如:有条记录 1 要改为 2 3 。当你删除时,要删除的记录是旧的,所以可以在Deleted表中找到 。 如:表中有1,2,3,4 四条记录,删除其中三条,则 select * from deleted 的结果为 1,2,3 当对某张表建立sql server触发器后,分3种情况讨论 1.插入操作(Insert) Inserted表有数据,Deleted表无数据 2.删除操作(Delete) Inserted表无数据,Deleted表有数据 3.更新操作(Update) Inserted表有数据(新数据),Deleted表有数据(旧数据)
|