<p>Dans SQL Server 2008, vous pouvez insérer plusieurs lignes en utilisant une seule instruction <code>INSERT</code>.</p>
<pre><code class="lang-auto">INSERT INTO MyTable ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )
</code></pre>
<p>Pour référence, consultez le cours MOC 2778A - Writing SQL Queries in SQL Server 2008.</p>
<p>Par exemple :</p>
<pre><code class="lang-auto">INSERT INTO MyTable
( Column1, Column2, Column3 )
VALUES
('John', 123, 'Lloyds Office'),
('Jane', 124, 'Lloyds Office'),
('Billy', 125, 'London Office'),
('Miranda', 126, 'Bristol Office');
</code></pre>
<p>Cette syntaxe est cependant limitée à un maximum de 1 000 lignes. Si vous devez insérer (<code>INSERT</code>) plus de 1 000 lignes, vous pouvez contourner cette limitation en utilisant une table dérivée dans un <code>SELECT</code> à la place, qui n’a pas la même restriction :</p>
<p>`INSERT INTO MyTable ( Column1, Column2, Column3 )<br>
SELECT V.Column1,<br>
V.Column2,<br>
V.Column3<br>
FROM (VALUES(‘John’, 123, ‘Lloyds Office’),<br>
(‘Jane’, 124, ‘Lloyds Office’),<br>
(‘Billy’, 125, ‘London Office’),<br>
…<br>
(‘Sally’, 10026, ‘Bristol Office’))V(Column1, Column2, Column3);</p>
<pre><code class="lang-auto"></code></pre>