Musíte přesunout TRUNCATE TABLE [dbo].[at_CurrencyRates];
z uložené procedury, pokud ji voláte 289krát, abyste vložili řádek po řádku.
Pokaždé, když zavoláte uloženou proceduru, smaže všechny řádky z tabulky, takže vždy skončíte pouze s jedním řádkem, který jste právě vložili.
Lepší by bylo změnit uloženou proceduru tak, aby vkládala všechny požadované řádky najednou, a ne pouze po jednom. K předání všech požadovaných řádků můžete použít parametr s hodnotou tabulky, pak budete potřebovat pouze TRUNCATE
následuje INSERT [dbo].[at_CurrencyRates] ... SELECT * FROM @TVP
.