Мне нужно создать несколько записей в sqlserver, каждая с одинаковым значением в столбце A, но с уникальным значением в столбце B. У меня есть значения для столбца B в массиве.
Я использую VS2008, aspnet, c # 3.5, sqlserver 2005.
Мне лучше
Вариант 1.
Выполнение 1 вызова хранимой процедуры в sqlserver из кода c #, а затем выполнение всей обработки в хранимой процедуре в tsql?
Это будет включать в себя объединение всех значений в массиве c # в одну строку с разделителями-запятыми и передачу строки в tsql в качестве параметра, затем цикл и разбиение строки на отдельные значения и вставку записи для каждого из них, все в пределах хранимая процедура.
Из того, что я вижу, это может потребоваться простой откат при необходимости, но очень неуклюжая обработка строк в tsql.
Или
Вариант 2.
Выполнение цикла в c # и передача данных в виде sqlparams из c # одной записи за один раз в сохраненный процесс для вставки каждой записи.
Т.е. foreach (int, ключ в myarray)… вставить запись
Я мог бы сделать этот код во сне, но как бы я мог откатиться, если что-то произошло в середине обработки? И я должен сделать цикл внутри в одном connection.open и connection.close?
У кого-нибудь есть другие варианты для этого?