MS SQL SERVER2005更新触发器

MS SQL SERVER2005更新触发器
数据库


为记录表test1中T01字段由‘0’更新为‘1’的发生时间,增长UPDATE触发器.spa


SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[test1_update2]
on [dbo].[TEST_1]
after update
as 
update test_1 set t04 = getdate()
from test_1 a,deleted b
where a.t00 = b.t00 and a.t01 = '1' and b.t01 = '0'
内存

GOget


    SQL Server为每一个触发器都建立了两个专用表:Inserted表和Deleted表。这两个表由系统来维护,它们存在于内存中而不是在数据库中。这两个表的结构老是与被该触发器做用的表的结构相同。触发器执行 完成后,与该触发器相关的这两个表也被删除。test

  Deleted表存放因为执行Delete或Update语句,而要从表中删除的全部行。date

  Inserted表存放因为执行Insert或Update语句,而要向表中插入的全部行。select

select * from inserted  select * from deleted