Я здійснив свій UPDATE TRIGGERпідхід, запропонований відповіддю Мартіна Сміта таким чином:
CREATE TRIGGER trgAfterUpdateAsset ON dbo.Asset
FOR UPDATE AS
IF UPDATE(AssetTypeID) AND EXISTS (SELECT * FROM inserted i JOIN deleted d ON i.ID = d.ID WHERE i.AssetTypeID <> d.AssetTypeID)
BEGIN
RAISERROR ('AssetTypeID cannot change.', 16, 1);
ROLLBACK TRAN
END
(Примітка. У таблиці є стовпець первинного ключа, який називається ідентифікатором).
Я відкидаю оновлення лише у тому випадку, якщо значення AssetTypeID зміниться. Таким чином, стовпець може бути присутнім в оновленні, і якщо значення не змінилося, воно пройшло б. (Мені знадобився цей шлях)