MS SQL SERVER2005更新觸發器
爲記錄表test1中T01字段由‘0’更新爲‘1’的發生時間,增加UPDATE觸發器.
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'
GO
SQL Server爲每個觸發器都創建了兩個專用表:Inserted表和Deleted表。這兩個表由系統來維護,它們存在於內存中而不是在數據庫中。這兩個表的結構總是與被該觸發器作用的表的結構相同。觸發器執行 完成後,與該觸發器相關的這兩個表也被刪除。
Deleted表存放由於執行Delete或Update語句,而要從表中刪除的所有行。
Inserted表存放由於執行Insert或Update語句,而要向表中插入的所有行。
select * from inserted
select * from deleted