sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server 2005:inserte varias filas con una sola consulta

Sí. Tienes que usar UNION ALL s en SQL Server 2005 para insertar varias filas en un script SQL en una sola instrucción.

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

La otra alternativa principal es repetir el Insert declaración varias veces, lo que es aún más detallado. Debe tener cuidado al usar transacciones explícitas en este último caso para evitar la sobrecarga de muchas confirmaciones individuales (y por razones de atomicidad, por supuesto)

Si tiene muchas filas para insertar, puede usar BULK INSERT para cargarlo todo desde un archivo delimitado en una declaración.

Finalmente, si estos son datos que ya están en la base de datos que está generando (quizás para implementarlos en otro servidor), el Paquete de herramientas de SSMS addin tiene una función "Generar declaraciones de inserción" que puede generar estas declaraciones por usted.