Utilisateur anonyme
Détails
Insertion de plusieurs lignes dans une seule requête SQL ?
J'ai plusieurs ensembles de données à insérer en une seule fois, disons 4 lignes. Ma table a trois colonnes : Person
, Id
et 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");
Puis-je insérer les 4 lignes dans une seule instruction SQL ?
1595
3
En SQL Server 2008, vous pouvez insérer plusieurs lignes à l'aide d'une seule instruction SQL INSERT.
Pour plus de détails, consultez le cours MOC 2778A - Writing SQL Queries in SQL Server 2008.
Par exemple :
Si vous insérez dans une seule table, vous pouvez écrire votre requête comme ceci (peut-être seulement dans MySQL) :
REMARQUE: Cette réponse concerne SQL Server 2005. Pour SQL Server 2008 et les versions ultérieures, il existe de bien meilleures méthodes, comme indiqué dans les autres réponses.
Vous pouvez utiliser [INSERT avec SELECT UNION ALL][1] :
Mais seulement pour les petits ensembles de données, ce qui devrait être suffisant pour vos 4 enregistrements.
[1] : http://blog.sqlauthority.com/2007/06/08/sql-server-insert-multiple-records-using-one-insert-statement-use-of-union-all/