У меня есть SQLClient.DataSet в VB.NET, и я хочу вставить всю вещь в таблицу SQL Server без необходимости делать следующее:
For Each dr as Datarow in MyDataset
Dim sc As New SqlCommand("INSERT INTO MyNewTable " & _
"VALUES (@column1, @column2)", MyDBConnection)
sc.Parameters.AddWithValue("@column1", dr.Item(0))
sc.Parameters.AddWithValue("@column2", dr.Item(1))
sc.ExecuteNonQuery()
Next
Поскольку у меня близко к миллиону строк (все довольно тощие, поэтому это не так много места), я, очевидно, не хочу запускать этот цикл и генерировать миллионы инструкций INSERT.
Я знаю, что один из вариантов заключается в использовании связанного сервера, когда я изначально извлекаю данные, так как он поступает с другого SQL Server, и просто получаю его от INSERT. Однако, если у меня уже есть данные в моем приложении, есть ли более эффективный способ вставки вставки? Могу ли я каким-то образом передать DataTable в качестве параметра SQL Server и отсортировать его и вставить строки?