Я создаю приложение на C # / ASP.NET, которое вызывает хранимую процедуру для обновления базы данных.
У меня есть таблица в SQL Server со столбцом для управления отображением порядка сортировки в окнах вывода / печатных листах.
[ProductID] [ProductName] [ProductDescription] [ProductSortOrder]
Я пытаюсь обновить все продукты (в данном случае) одновременно. Я ТОЛЬКО обновляю столбец «Порядок сортировки» в этом вызове, но хочу избежать одного попадания в базу данных для каждого продукта.
Мне удалось заставить его работать, передав идентификатор продукта в хранимую процедуру, но я удивился, каким-то образом передав список.
UPDATE Products SET ProductSortOrder = 2 WHERE ProductID = 1
Я бы хотел попасть в базу данных один раз и выполнить там обработку, чтобы проанализировать список и обновить записи на основе значения списка. Я бы пропустил что-то вроде [ProductID1]|[SortOrderValue1],[ProductID2]|[SortOrderValue2]
и разделил бы его на ,
, затем перебрал и разделил каждое из них на |
и передал бы это в оператор обновления.
Я не уверен, возможно ли это или как это сделать в SQL Server.