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

SQL Server 2005:Вмъкване на множество редове с една заявка

да Трябва да използвате UNION ALL s в SQL Server 2005 за вмъкване на множество редове в SQL скрипт в един оператор.

INSERT INTO Table 
  (Name, Location) 
SELECT 'Name1', 'Location1' 
UNION ALL
SELECT 'Name2', 'Location2'
UNION ALL
SELECT 'Name3', 'Location3' 

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

Ако имате много редове за вмъкване, можете да използвате ГРУПОВО ВМЪКВАНЕ за да го заредите всичко от разделен файл в един израз.

И накрая, ако това са данни, които вече са в базата данни, която скриптирате (може би за внедряване на друг сървър), SSMS Tools Pack addin има функция "Генериране на изрази за вмъкване", която може да генерира тези изрази вместо вас.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Наистина ли трябва да използвам SET XACT_ABORT ON?

  2. Как да сумирате стойността на завъртените колони и да я добавите в друга заоблена колона

  3. Как ефективно моделирате наследяването в база данни?

  4. Как да изпълните SQL заявка без показване на резултати

  5. Как да предотвратите атаки с инжектиране на SQL чрез Secure