2009-04-01 7 views
1

Je souhaite créer un déclencheur qui mettra à jour la colonne LastActivityDate à la date actuelle lorsque la colonne Description est mise à jour, le problème est que toutes les lignes sont mises à jour et que je ne sais pas comment faire de la clause où l'intérieur de la gâchette ...Aide avec le déclencheur SQL Server

je dois faire un déclencheur comme celui-ci pour d'autres tables aussi bien, comme la table ... Votes

Je:

CREATE TRIGGER test ON Articles 
FOR INSERT, UPDATE 
AS 
IF UPDATE(Description) 
UPDATE Articles SET LastActivityDate = GETUTCDATE() 

Comment la clause where serait-elle?

Répondre

4

Vous pouvez joindre à la table insérée pour limiter la mise à jour aux lignes mises à jour.

CREATE TRIGGER test ON Articles 
    FOR INSERT, UPDATE 
    AS 
    IF UPDATE(Description) 
    UPDATE a 
    SET a.LastActivityDate = GETUTCDATE() 
    from Articles a 
    inner join inserted i 
    on a.SomeIDField = i.SomeIDField