2010-09-28 58 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() 
:沿線的

東西