У меня есть метод, который принимает int [] (userIDs) и int (groupID) в качестве параметров. Затем он запускает хранимую процедуру и вставляет данные в БДхранимая процедура asp.net вставляет несколько пар данных в БД
For example:
if userIDs=[1,2,3] and groupID=4,
then I want the following data to be inserted into the DB
userID groupID
1 4
2 4
3 4
У меня есть 2 решения этой проблемы. Первый заключается в том, чтобы написать хранимую процедуру, которая вставляет одну запись в БД. В способе(), я петлевые через Int [] и вызвать хранимые процедуры п раз
method()
for (int i =0; i< userID.length; i++){
// call stored procedure to insert a single record
}
Второе решение состоит в передаче INT [] и Int в качестве параметров хранимых процедур и сделать цикл в хранимую процедуру.
Какой способ является лучшим решением? (если его второе решение лучше, может ли кто-нибудь дать указания по обращению с int [] в хранимой процедуре)
Вообще-то, это неправильно. Если вы выполняете n раз, вам понадобятся n сетевых вызовов и n выполнение, которое в значительной степени всегда медленнее, чем один сетевой вызов и одно исполнение с несколькими вставками. – Linky
Достаточно честный, но обычно мы не просто демпинг данных прямо в базу данных; обычно мы делаем что-то с этими данными, прежде чем переходить на SQL, и именно тогда SQL не играет, а обрабатывает его в коде. Следовательно, «общий» и, следовательно, почему этот конкретный вопрос на самом деле лучше всего делать на стороне SQL. –
. Я полностью согласен с вами в том, что некоторые операции (разделение строк, циклы, почти все, что касается одиночных записей вместо наборов) проще (и более разумно), чтобы кодировать и поддерживать в C# ... – Linky