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

SQL Server 2005:inserire più righe con una singola query

Sì. Devi usare UNION ALL s in SQL Server 2005 per inserire più righe in uno script SQL in una singola istruzione.

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

L'altra alternativa principale è ripetere Insert dichiarazione più volte che è ancora più dettagliata. Devi stare attento a usare le transazioni esplicite in quest'ultimo caso per evitare il sovraccarico di molti commit individuali (e ovviamente per motivi di atomicità)

Se hai molte righe da inserire, puoi utilizzare BULK INSERT per caricarlo tutto da un file delimitato in un'unica istruzione.

Infine, se si tratta di dati già presenti nel database che stai eseguendo lo script (magari da distribuire su un altro server), il SSMS Tools Pack addin ha una funzione "Genera istruzioni di inserimento" che può generare queste istruzioni per te.