Массовая копия - это, безусловно, путь.
Однако, поскольку ваш набор данных относительно небольшой (100 элементов), вы можете использовать поддержку SQL Server для XML. Учитывая таблицу, как это:
create table dbo.item
(
id int not null primary key clustered ,
name varchar(100) not null unique nonclustered ,
)
Вы можете написать хранимую процедуру так:
create procedure dbo.insert_items
@item_list xml
as
insert dbo.item
(
id ,
name
)
select id = X.value('./id[1]' , 'int' ) ,
name = ltrim(rtrim(X.value('./name[1]' , 'varchar(100)')))
from @item_list.nodes('/items/item') as itemList(X)
return @@rowcount
go
, который может быть вызван, как это (в SQL Server Management Studio):
exec insert_items '
<items>
<item><id> 1 </id><name> alpha </name></item>
<item><id> 2 </id><name> bravo </name></item>
<item><id> 3 </id><name> charlie </name></item>
<item><id> 4 </id><name> delta </name></item>
</items>
'
Или, начиная с C#, например:
string connect_string = "Server=localhost;Database=sandbox;Trusted_Connection=True;" ;
string myXmlString = @"
<items>
<item><id> 1 </id><name> alpha </name></item>
<item><id> 2 </id><name> bravo </name></item>
<item><id> 3 </id><name> charlie </name></item>
<item><id> 4 </id><name> delta </name></item>
</items>
" ;
using (SqlConnection conn = new SqlConnection(connect_string))
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "dbo.insert_items" ;
cmd.CommandType = CommandType.StoredProcedure ;
cmd.Parameters.AddWithValue("@item_list" , myXmlString) ;
conn.Open() ;
cmd.ExecuteNonQuery() ;
conn.Close() ;
}
Затем это список номеров вашей части и его сериализация в подходящий XML (если это еще не так) и построение правильного XQuery/XPath в хранимой процедуре, чтобы вытащить необходимые биты.
В реальном мире, поскольку обработка XML может быть ... дорогой и болезненной, мне легче всего сначала загрузить XML-таблицу во временную таблицу с помощью OpenXml(), чтобы иметь дело с XML с самого начала. Это сделано, остальная часть хранимой процедуры может быть прямым SQL. Это упрощает отладку и обслуживание.
Является ли ваш номер детали в переменной массива или списка? – shadowjfaith
Также вы используете MySQL или SQL Server? Это две разные вещи, поэтому, пожалуйста, скорректируйте свои теги, чтобы получить более значимую помощь. – shadowjfaith
SQL Server, и, к сожалению, его просто список в файле txt или excel-лист обычно. – user3014698