Du skal flytte TRUNCATE TABLE [dbo].[at_CurrencyRates];
ud af den lagrede procedure, hvis du kalder det 289 gange for at indsætte række for række.
Hver gang du kalder den lagrede procedure sletter den alle rækkerne fra tabellen, så du altid kun ender med den ene række, du lige har indsat.
Bedre ville være at ændre den lagrede procedure til at udføre indsættelsen af alle påkrævede rækker på én gang i stedet for kun én ad gangen. Du kan bruge en tabelværdiparameter til at overføre alle de ønskede rækker, så skal du blot bruge en TRUNCATE
efterfulgt af en INSERT [dbo].[at_CurrencyRates] ... SELECT * FROM @TVP
.