2016-09-22 168 views
0

我在數據庫中有觸發器。在插入並更新後在觸發表中更新字段

CREATE TRIGGER trigg_varer_ledit_iu 
ON items 
FOR INSERT, UPDATE 
AS 
BEGIN 
    UPDATE items 
    SET lastedit = GETDATE() 
    WHERE itemnr IN (SELECT 
    itemnr 
    FROM inserted) 
END; 

它的效果很好。每次我更新並向項目插入新數據時,「lastEdit」字段都會更新。

但是:我在表中有一些特殊的字段,不應該觸發更新這lastEdit字段。我怎樣才能做到這一點?

現在它適用於更新的每個字段。我需要讓他們中的一些人脫離馬戲團。

+0

我認爲你可以在觸發自身的邏輯來檢查,如果說列被更新了,然後用任何處理返回回 – vamsi

+0

任何這樣的例子? –

+0

您可以使用['update(colname)'](https://msdn.microsoft.com/en-us/library/ms187326.aspx)函數檢查單個列或['columns_updated()'](https: //msdn.microsoft.com/en-us/library/ms186329.aspx)來檢查多個列。 –

回答