108 votes

Déclenchement d'une mise à jour SQL uniquement lorsque la colonne est modifiée

En regardant d'autres exemples, j'ai trouvé la solution suivante, mais elle ne semble pas fonctionner comme je le voudrais : Je veux qu'il ne mette à jour les informations modifiées que si la balise QtyToRepair a été mis à jour... mais il ne le fait pas.

Si je commente le où, l'information modifiée est mise à jour dans tous les cas. Comme je l'ai dit, d'autres exemples m'ont incité à être optimiste. Tout indice est apprécié. Merci.

Walter

ALTER TRIGGER [dbo].[tr_SCHEDULE_Modified]
   ON [dbo].[SCHEDULE]
   AFTER UPDATE
AS 
BEGIN
    SET NOCOUNT ON;

    UPDATE SCHEDULE SET modified = GETDATE()
        , ModifiedUser = SUSER_NAME()
        , ModifiedHost = HOST_NAME()
    FROM SCHEDULE S
    INNER JOIN Inserted I on S.OrderNo = I.OrderNo and S.PartNumber = I.PartNumber
    WHERE S.QtyToRepair <> I.QtyToRepair
END

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X