Al mirar otros ejemplos he encontrado lo siguiente pero no parece funcionar como me gustaría: Quiero que actualice solo la información modificada si el valor QtyToRepair
ha sido actualizado ... pero no hace eso.Activación de la actualización de SQL solo cuando se modifica la columna
Si hago un comentario en el que la información modificada se actualiza en todos los casos. Como dije, otros ejemplos me llevaron a ser optimista. Cualquier pista apreciada. Gracias.
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
Lo que DB está usando? –
loooks like sql server –
Una advertencia sobre 'update()' - solo prueba si la columna aparece en la lista de actualización, y siempre es cierta para las inserciones. No verifica si el valor de la columna ha cambiado, porque es posible que tenga más de una fila, donde algunos valores han cambiado y otros no. –