Bằng cách xem các ví dụ khác tôi đã đưa ra các ví dụ sau nhưng dường như không hoạt động như tôi muốn: Tôi muốn nó chỉ cập nhật thông tin đã sửa đổi nếu giá trị QtyToRepair
đã được cập nhật ... nhưng nó không làm điều đó.Kích hoạt cập nhật SQL chỉ khi cột được sửa đổi
Nếu tôi nhận xét nơi mà thông tin được sửa đổi được cập nhật trong mọi trường hợp. Như tôi đã nói các ví dụ khác đã khiến tôi lạc quan. Bất kỳ manh mối nào được đánh giá cao. Cảm ơn.
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
DB gì bạn đang sử dụng? –
loooks như máy chủ sql –
Cảnh báo về 'update()' - nó chỉ kiểm tra xem cột có xuất hiện trong danh sách cập nhật hay không và luôn đúng đối với chèn. Nó không kiểm tra nếu giá trị cột đã thay đổi, bởi vì bạn có thể có nhiều hơn một hàng, trong đó một số giá trị đã thay đổi và một số giá trị không thay đổi. –