Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Obetnij tabelę, a następnie wstaw dane do tej samej tabeli wstawia tylko 1 rekord

Musisz przenieść TRUNCATE TABLE [dbo].[at_CurrencyRates]; z procedury składowanej, jeśli wywołujesz ją 289 razy, aby wstawić wiersz po wierszu.

Za każdym razem, gdy wywołujesz procedurę składowaną, usuwa ona wszystkie wiersze z tabeli, więc zawsze otrzymasz tylko jeden wiersz, który właśnie wstawiłeś.

Lepiej byłoby zmienić procedurę składowaną, aby wstawić wszystkie wymagane wiersze za jednym razem, a nie tylko po jednym na raz. Możesz użyć parametru o wartości tabeli, aby przekazać wszystkie żądane wiersze, wtedy potrzebujesz tylko TRUNCATE po którym następuje INSERT [dbo].[at_CurrencyRates] ... SELECT * FROM @TVP .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zmień kolumnę w SQL Server

  2. 2 sposoby na uzyskanie domyślnego języka logowania w SQL Server (T-SQL)

  3. SQL Wielokrotne liczenie w tym samym wierszu z dynamiczną kolumną

  4. Jak wykonać procedurę składowaną w innej procedurze składowanej na serwerze sql

  5. SQL Server 2005 Uzyskaj pierwszą i ostatnią datę z dowolnego miesiąca w dowolnym roku