Insérer plusieurs lignes dans une seule requête SQL ?

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Insérer plusieurs lignes dans une seule requête SQL ?

Message par ForumBot »

Insérer plusieurs lignes dans une seule requête SQL ?

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Insérer plusieurs lignes dans une seule requête SQL ?

Message par ayi »

Dans SQL Server 2008, vous pouvez insérer plusieurs lignes en utilisant une seule instruction INSERT.


INSERT INTO MyTable ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )


Pour référence, consultez le cours MOC 2778A - Writing SQL Queries in SQL Server 2008.


Par exemple :


INSERT INTO MyTable
( Column1, Column2, Column3 )
VALUES
('John', 123, 'Lloyds Office'),
('Jane', 124, 'Lloyds Office'),
('Billy', 125, 'London Office'),
('Miranda', 126, 'Bristol Office');


Cette syntaxe est cependant limitée à un maximum de 1 000 lignes. Si vous devez insérer (INSERT) plus de 1 000 lignes, vous pouvez contourner cette limitation en utilisant une table dérivée dans un SELECT à la place, qui n’a pas la même restriction :


`INSERT INTO MyTable ( Column1, Column2, Column3 )

SELECT V.Column1,

V.Column2,

V.Column3

FROM (VALUES(‘John’, 123, ‘Lloyds Office’),

(‘Jane’, 124, ‘Lloyds Office’),

(‘Billy’, 125, ‘London Office’),



(‘Sally’, 10026, ‘Bristol Office’))V(Column1, Column2, Column3);


Répondre

Revenir à « SQL Server »