sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server 2005:Indsæt flere rækker med en enkelt forespørgsel

Jep. Du skal bruge UNION ALL s i SQL Server 2005 for at indsætte flere rækker i et SQL-script i en enkelt sætning.

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

Det andet hovedalternativ er at gentage Insert udsagn flere gange, hvilket er endnu mere omfattende. Du skal være omhyggelig med at bruge eksplicitte transaktioner i dette sidste tilfælde for at undgå overhead af mange individuelle commits (og selvfølgelig af atomicitetsmæssige årsager)

Hvis du har mange rækker at indsætte, kan du bruge BULK INSERT at indlæse det hele fra en afgrænset fil i én sætning.

Hvis dette er data, der allerede er i databasen, som du scripter ud (måske for at implementere på en anden server), er SSMS Tools Pack addin har en "Generer indsæt udsagn" funktion, der kan generere disse udsagn for dig.



  1. Får Operational Error:FATAL:beklager, for mange klienter bruger allerede psycopg2

  2. Indlæser utf-8-kodet tekst i MySQL-tabel

  3. hjælp til forespørgsel over relationstabel

  4. Postgresql venstre ydre joinforbindelse på json-array