SQLServerで1つのクエリにより複数行をinsertする
1つのクエリで、複数行をinsertする
SQLServer2008以降では、INSERT文で追加行をカンマでつなげることで実現できる。
なお、一度に追加できる最大行数は、1000行となる。
1 2 3 4 5 | INSERT INTO test_table(col1, col2) VALUES (value1, value2) , (value1, value2) |
ちなみに、SQLServer2005以前では複数行のINSERTは動作しないので、以下のような方法をとることになる。
1 2 3 4 5 6 7 8 9 10 11 12 13 | INSERT INTO dbo.MyTable(C1, C2) SELECT Value1 , Value2 UNION ALL SELECT Value1 , Value2 UNION ALL SELECT Value1 , Value2 |