Wenn ich mir andere Beispiele ansehe, habe ich Folgendes gefunden, aber es scheint nicht so zu funktionieren, wie ich es gerne hätte: Ich möchte, dass die geänderten Informationen nur aktualisiert werden, wenn der QtyToRepair
Wert aktualisiert wurde ... aber das funktioniert nicht Das.
Wenn ich das Wo auskommentiere, werden die geänderten Informationen in jedem Fall aktualisiert. Wie gesagt, andere Beispiele haben mich optimistisch gemacht. Alle Hinweise geschätzt. Vielen Dank.
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()
- Sie testet nur, ob die Spalte in der Aktualisierungsliste angezeigt wird, und gilt immer für Einfügungen. Es wird nicht überprüft, ob sich der Spaltenwert geändert hat, da möglicherweise mehr als eine Zeile vorhanden ist, wobei sich einige Werte geändert haben und andere nicht.