Ich muss mehrere Daten gleichzeitig einfügen, z. B. 4 Zeilen.
Meine Tabelle enthält drei Spalten: Person
, Id
und Office
.
_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");
_
Kann ich insert
alle 4 Zeilen in einem einzigen _SQL statement
_?
In SQL Server 2008 können Sie mehrere Zeilen mit einer einzigen SQL INSERT-Anweisung einfügen.
INSERT INTO MyTable ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )
Informationen hierzu finden Sie im MOC-Kurs 2778A - Schreiben von SQL-Abfragen in SQL Server 2008.
Zum Beispiel:
INSERT INTO MyTable
( Column1, Column2, Column3 )
VALUES
('John', 123, 'Lloyds Office'),
('Jane', 124, 'Lloyds Office'),
('Billy', 125, 'London Office'),
('Miranda', 126, 'Bristol Office');
Wenn Sie in eine einzelne Tabelle einfügen, können Sie Ihre Abfrage wie folgt schreiben (möglicherweise nur in MySQL):
INSERT INTO table1 (First, Last)
VALUES
('Fred', 'Smith'),
('John', 'Smith'),
('Michael', 'Smith'),
('Robert', 'Smith');
HINWEIS: Diese Antwort gilt für SQL Server 2005. Für SQL Server 2008 und höher gibt es viel bessere Methoden als in den anderen Antworten.
Sie können INSERT mit SELECT UNION ALL verwenden:
INSERT INTO MyTable (FirstCol, SecondCol)
SELECT 'First' ,1
UNION ALL
SELECT 'Second' ,2
UNION ALL
SELECT 'Third' ,3
...
Nur für kleine Datensätze, was für Ihre 4 Datensätze in Ordnung sein sollte.