Anonym bruker
Sette inn flere rader i en enkelt SQL-spørring?
Jeg har flere sett med data som skal settes inn samtidig, for eksempel 4 rader. Tabellen min har tre kolonner: Person
, Id
og 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 jeg sette inn alle 4 radene i en enkelt SQL-setning?
1595
3
I SQL Server 2008 kan du sette inn flere rader ved hjelp av en enkelt SQL INSERT-setning.
For referanse til dette, ta en titt på MOC-kurs 2778A - Skrive SQL-spørringer i SQL Server 2008.
For eksempel:
Hvis du setter inn i en enkelt tabell, kan du skrive spørringen din slik (kanskje bare i MySQL):
MERK: Dette svaret gjelder for SQL Server 2005. For SQL Server 2008 og nyere finnes det mye bedre metoder, som vist i de andre svarene.
Du kan bruke INSERT med SELECT UNION ALL:
Men bare for små datasett, noe som bør være greit for dine 4 poster.