他の例を見ると、次のような結果になりましたが、期待どおりに動作しないようです。QtyToRepair
値が更新されている場合にのみ、変更された情報を更新したいのですが...それ。
どこをコメントアウトすると、すべての場合に変更された情報が更新されます。先ほど述べたように、他の例から楽観的になりました。手がかりはありがたいです。ありがとう。
ウォルター
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()
-列が更新リストに表示されるかどうかのみをテストし、挿入の場合は常にtrueです。列の値が変更されたかどうかはチェックしません。複数の行があり、一部の値は変更されていて、一部は変更されていない可能性があるためです。