Anonym användare
Infoga flera rader i en enda SQL-fråga?
Jag har flera datamängder att infoga samtidigt, till exempel 4 rader. Min tabell har tre kolumner: Person", "ID" och "Kontor".
INSERT INTO MyTable VALUES ("John", 123, "Lloyds Office");
INSERT INTO MyTable VALUES ("Jane", 124, "Lloyds Office");
INSERT INTO MyTable VALUES ("Billy", 125, "London Office");
INSERT INTO MyTable VALUES ("Miranda", 126, "Bristol Office");
Kan jag infoga alla 4 rader i ett enda SQL-meddelande?
1595
3
I SQL Server 2008 kan du infoga flera rader med ett enda SQL INSERT-meddelande.
För referens till detta kan du titta på MOC-kurs 2778A - Writing SQL Queries in SQL Server 2008.
Till exempel:
Om du infogar i en enda tabell kan du skriva din fråga så här (kanske bara i MySQL):
OBS: Det här svaret gäller SQL Server 2005. För SQL Server 2008 och senare finns det mycket bättre metoder, vilket framgår av de andra svaren.
Du kan använda INSERT med SELECT UNION ALL:
Detta gäller dock endast för små dataset, vilket borde vara bra för dina 4 poster.