Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Tronca la tabella quindi inserisci i dati nella stessa tabella inserisce solo 1 record

Devi spostare TRUNCATE TABLE [dbo].[at_CurrencyRates]; fuori dalla procedura memorizzata se lo si chiama 289 volte per inserire riga per riga.

Ogni volta che chiami la procedura memorizzata, questa elimina tutte le righe dalla tabella, quindi ti ritroverai sempre solo con la riga che hai appena inserito.

Sarebbe meglio modificare la procedura memorizzata per eseguire l'inserimento di tutte le righe richieste in una volta sola anziché solo una alla volta. Puoi utilizzare un parametro con valori di tabella per passare tutte le righe desiderate, quindi avresti solo bisogno di un TRUNCATE seguito da un INSERT [dbo].[at_CurrencyRates] ... SELECT * FROM @TVP .