Этот код никогда не будет работать - что произойдет в вашей инструкции UPDATE, обновляющей 10 строк?Что дает этот выбор:
SET [ID_user] = (select ID_user from inserted)
Вы пытаетесь установить одно значение для целого возвращаемого набора из оператора SELECT
- это не сработает, очевидно.
Вам нужно создать инструкцию UPDATE, которая объединяется с псевдотаблицей Inserted
:
CREATE TRIGGER dbo.DocSt
ON dbo.log AFTER UPDATE
UPDATE [dbo].[Doc]
FROM Inserted i
SET [ID_user] = i.ID_User
WHERE IDN = i.id_doc
Таким образом, для каждой записи в Inserted
вы присоединяете к ней свою таблицу dbo.Doc
и обновите столбец ID_user
.