Je suppose que vous essayez de presser un nombre supérieur à 99999,99 dans vos champs décimaux. Le changer en (8,3) ne fera rien s'il est supérieur à 99999.999 - vous devez augmenter le nombre de chiffres avant la décimale. Vous pouvez le faire en augmentant la précision (qui est le nombre total de chiffres avant et après la virgule). Vous pouvez laisser la même échelle sauf si vous devez modifier le nombre de décimales à stocker. Essayez decimal(9,2)
ou decimal(10,2)
ou autre.
Vous pouvez tester cela en commentant le insert #temp
et voyez quels nombres l'instruction select vous donne et voyez s'ils sont plus grands que ce que votre colonne peut gérer.