Я узнал от коллеги, как только я написал это.
Вам необходимо указать точность и масштаб по умолчанию.
Это работает в этом сценарии:
объявить десятичное значение @tempDec (3,2)
Из MSDN:
десятичное [(p [, s])] и числовое [(p [, s])]
Исправлена точность и масштабирование чисел. При использовании максимальной точности допустимые значения находятся в диапазоне от - 10 ^ 38 +1 до 10 ^ 38 - 1. Синонимами SQL-92 для десятичного числа являются dec и dec (p, s). числовое значение функционально эквивалентно десятичному.
p (точность)
Максимальное общее количество десятичных цифр, которое может быть сохранено как слева, так и справа от десятичной точки. Точность должна быть от 1 до максимальной точности 38. Точность по умолчанию - 18.
с (шкала)
Максимальное количество десятичных цифр, которое можно сохранить справа от десятичной точки. Масштаб должен быть от 0 до p. Масштаб может быть указан, только если указана точность. Масштаб по умолчанию - 0; следовательно, 0 <= s <= p. Максимальные размеры хранилища зависят от точности. </p>