Guardando altri esempi ho trovato il seguente ma non sembra funzionare come vorrei: voglio aggiornare solo le informazioni modificate se il valore QtyToRepair
è stato aggiornato ... ma non lo fa.Attivazione dell'aggiornamento SQL solo quando la colonna viene modificata
Se commento la dove, le informazioni modificate vengono aggiornate in ogni caso. Come ho detto altri esempi mi hanno portato ad essere ottimista. Ogni indizio è apprezzato. 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
Cosa DB stai usando? –
si aggira come server sql –
Un avviso su 'update()' - verifica solo se la colonna viene visualizzata nell'elenco di aggiornamento ed è sempre true 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. –