2010-09-28 56 views
1

我需要在Table1上删除一个触发器。从Table1删除记录时,我需要更新触发器中的Table2,但我需要触发器中已删除记录的值。 例子: -如何获取触发器中已删除测试的值?

IF OBJECT_ID ('UpdateLog','TR') IS NOT NULL 
    DROP TRIGGER UpdateLog; 
GO 
CREATE TRIGGER UpdateLog 
ON Table_1 
AFTER DELETE 
AS 
    UPDATE Table_2 
    SET Date1 = getdate() 
    WHERE (UID from deleted record from Table1) 
GO 

所以我需要删除的记录的值从表1来更新表2。怎么样?

回答

3

它应该在触发器中的“已删除”表中。请参阅使用inserted and deleted tables

select * from deleted 

请注意,如果您运行删除多发的记录可以删除,你的触发器应考虑到“被删除的”表包括多个行。

UPDATE t 
from table_2 t 
inner join deleted d on d.UID = t.UID 
    SET t.Date1 = getdate() 
:沿线的

东西