Ваша основная ошибка заключается в том, что вы ожидаете, что этот триггер будет вызываться один раз для каждой строки. Это НЕ случай - он будет вызываться один раз для каждой партии.
Так что это утверждение здесь не сработает, много раз:
select @insertedType = i.type
from inserted i
Что бы вы выбрали, если у вас есть 10 записей в вашей inserted
псевдотаблице ??
Вам нужно переписать триггер, чтобы учесть, что таблица inserted
может содержать несколько строк !