通过查看其他示例,我想出了以下内容,但它似乎并没有达到我想要的效果:我希望它仅在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。它不检查列值是否已更改,因为您可能有多个行,其中某些值已更改,而有些则未更改。