sql >> Database >  >> RDS >> Sqlserver

SQL Server 2005:voeg meerdere rijen in met een enkele query

Ja. Je moet UNION ALL . gebruiken s in SQL Server 2005 om meerdere rijen in een SQL-script in een enkele instructie in te voegen.

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

Het andere hoofdalternatief is het herhalen van de Insert verklaring meerdere keren, wat nog uitgebreider is. Je moet in dit laatste geval voorzichtig zijn om expliciete transacties te gebruiken om de overhead van veel individuele commits te vermijden (en natuurlijk om atomaire redenen)

Als u veel rijen moet invoegen, kunt u BULK INSERT gebruiken om alles vanuit een gescheiden bestand in één instructie te laden.

Als dit ten slotte gegevens zijn die al in de database staan ​​die u aan het scripten bent (misschien om op een andere server te implementeren), het SSMS Tools Pack addin heeft een "Generate Insert Statements" functie die deze statements voor u kan genereren.



  1. Tekenreeks wordt afgesneden tijdens invoegquery

  2. PostgreSQL- Filter een datumbereik

  3. Databaseschema, automatisch verhogen

  4. Syntaxisfout:WITH is geen geldige invoer op deze positie