2012-06-01 3 views
0

Я хочу обновить некоторые столбцы данных после вставки значений. Но это дает мне некоторую ошибку. Пожалуйста, помогите мне исправить это.Ошибка обновления в триггере

Msg 4104, Level 16, State 1, процедура TriggerBonus, Линия 20
Мульти-часть идентификатора "i.User_id" не могут быть связаны.

Триггер:

CREATE TRIGGER [dbo].[TriggerBonus] ON [dbo].[Bonus] 
FOR INSERT 
AS 
DECLARE @rcnt int 
SELECT @rcnt = @@rowcount 

IF(SELECT COUNT(*) FROM Bonus,inserted WHERE Bonus.Tpv = inserted.Tpv)[email protected]@rowcount 

/* Cancel the insert and print a message.*/ 
     begin 
     rollback transaction 
     end 

/* Otherwise, allow it. */ 
else 

UPDATE Bonus 
SET Subdealers_Id=('user') 
WHERE (User_id = i.User_id) 
+1

Как ошибка говорит, что "я." в последней строке? Вы намеревались «вставлены»? –

+0

спасибо за ваш ответ. – TRS

ответ

1

Ваше обновление должно быть:

UPDATE Bonus 
SET Subdealers_Id=('user') 
from inserted i inner join Bonus 
on {put your join here} 
WHERE (User_id = i.User_id) 
+1

При публикации кода выделите его и нажмите '{}' или отступ на четыре пробела - намного проще, чем добавлять html-разметку самостоятельно (и мы получим подсветку синтаксиса) –

Смежные вопросы