จากการดูตัวอย่างอื่น ๆ ที่ฉันได้พบกับสิ่งต่อไปนี้ แต่ดูเหมือนจะไม่ได้ผลอย่างที่ต้องการ: ฉันต้องการให้อัปเดตข้อมูลที่แก้ไขเฉพาะเมื่อ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()
- จะทดสอบเฉพาะเมื่อคอลัมน์ปรากฏในรายการอัปเดตและเป็นจริงเสมอสำหรับส่วนแทรก ไม่ได้ตรวจสอบว่าค่าคอลัมน์มีการเปลี่ยนแปลงหรือไม่เนื่องจากคุณอาจมีมากกว่าหนึ่งแถวโดยที่บางค่ามีการเปลี่ยนแปลงและบางค่าไม่มี