Guardando altri esempi ho trovato quanto segue ma non sembra funzionare come vorrei: voglio che aggiorni le informazioni modificate solo se il QtyToRepair
valore è stato aggiornato ... ma non funziona quello.
Se commento il dove, le informazioni modificate vengono aggiornate in ogni caso. Come ho detto altri esempi mi hanno portato ad essere ottimista. Eventuali indizi apprezzati. Grazie.
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
update()
: verifica solo se la colonna viene visualizzata nell'elenco degli aggiornamenti ed è sempre vero per gli inserimenti. Non controlla se il valore della colonna è cambiato, perché potresti avere più di una riga, dove alcuni valori sono cambiati e altri no.