У меня есть триггер обновления, часть которого ниже, вызывает проблему.
if ( (select [Account] from inserted) != (select [Account] from deleted))
begin
UPDATE Customers SET active_changed = CONVERT(varchar(10),GetDate(),102)
FROM Customers ,INSERTED
WHERE Customers .ID = INSERTED.ID
end
Если я сделаю такой запрос
UPDATE Customers SET RepID= '111' where repID = '222'
это не работает, потому что предложение в триггере обновления выбирает несколько записей, и оно не может быть выполнено. Но если я сделаю это
UPDATE Customers SET RepID = '111' where ID = '12345'
Это работает, потому что ID уникален и выбирает только одну запись.
Есть ли у кого-нибудь средство от этого и лучший способ переписать мой триггер?
Что я делаю в триггере, так это то, что если конкретное поле в записи [Active] изменяется (пример: запись сделана активной или неактивной), я записываю эту дату и помещаю ее в одно из полей [active_changed] , Это только для целей аудита.
Извинения, раньше я объяснил немного неправильно, теперь исправлено.
Любой совет