Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Съкращаване на таблица след това вмъкване на данни в същата таблица вмъква само 1 запис

Трябва да преместите TRUNCATE TABLE [dbo].[at_CurrencyRates]; извън съхранената процедура, ако я извиквате 289 пъти, за да вмъкнете ред по ред.

Всеки път, когато извикате съхранената процедура, тя изтрива всички редове от таблицата, така че винаги ще се окажете само с един ред, който току-що сте вмъкнали.

По-добре би било да промените съхранената процедура, за да направите вмъкването на всички необходими редове наведнъж, а не само един по един. Можете да използвате параметър със стойност на таблица, за да подадете всички желани редове, тогава просто ще ви е необходим TRUNCATE последвано от 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. Пример от реалния живот, кога да използвате OUTER / CROSS APPLY в SQL

  2. Обхват на временните таблици в SQL Server

  3. TABLOCK срещу TABLOCKX

  4. Подреждането на sqlserver означава ли, че имената на колоните трябва да са правилни с главни и малки букви? И как да се справим с това

  5. Създаването на рамков модел на Entity обхваща множество бази данни