我需要在Table1上对Delete进行触发。在从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
所以我需要从table1删除记录的值来更新table2。怎么样?
答案 0 :(得分: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()