Dengan melihat contoh lain, saya mendapatkan yang berikut tetapi tampaknya tidak berfungsi seperti yang saya inginkan: Saya ingin itu hanya memperbarui informasi yang dimodifikasi jika QtyToRepair
nilainya telah diperbarui ... tetapi tidak berhasil bahwa.
Jika saya berkomentar di mana maka informasi yang dimodifikasi diperbarui dalam setiap kasus. Seperti yang saya katakan, contoh lain membuat saya optimis. Setiap petunjuk dihargai. Terima kasih.
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
update()
- ini hanya menguji jika kolom muncul dalam daftar pembaruan, dan selalu benar untuk sisipan. Itu tidak memeriksa apakah nilai kolom telah berubah, karena Anda mungkin memiliki lebih dari satu baris, di mana beberapa nilai telah berubah dan beberapa tidak.