Проблема в том, что вы используете удаленный. Идентификатор клиента справа от сравнения.
Я делал что-то похожее на то, что ты делаешь.
, и решение состоит в том, чтобы определить @variable для хранения удаленного.CustomerId (после строки SET NO COUNT), а затем сравнить CustomerOrders.CustomerId с переменной.
EDIT:
Вот код, который работает просто отлично. Это триггер для обновления рейтинга фильма по среднему рейтингу, который он получил от tblRating (MovieID, UserID, rating), который также представляет отношение многие ко многим между tblMovies и tblUsers, этот использует вставленный но то же самое с удаленным:
CREATE TRIGGER trUpdateRating
ON [dbo].[tblRating]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON
DECLARE @rate float, @mid int
SET @rate = 0;
-- here is the assignment I was talking about and it is valid
SELECT @mid=MovieID from inserted;
SELECT @rate=AVG(isnull(Rating, 0)) FROM tblRating WHERE MovieID=@mid;
-- and here is the comparison
UPDATE tblMovies
SET avg_rating = @rate
WHERE ID=@mid;
END