If you have loads of ids and want to update them all in a one go (a batch)
、2 つの CSV 文字列を形成し、それらをパラメーターとしてストアド プロシージャ (sp) に渡すことができます。
また、sp内のこれらのCSVを分割し(ここにいくつかあります)、テーブルを更新する関数が必要です。
元;
//Make sure you have a relation between id and statusid here. i.e. same index
string csvIds = "101,2234,349,..."; //CSV for ids
string csvStatusIds = ="1,2,3,..."; //CSV for statusIds
//Pass above csv lists to the following stored procedure...
//Create a stored procedure to pass above ids.
CREATE PROCEDURE [dbo].[updateStatuses]
@Ids VARCHAR(Max),
@StatusIds VARCHAR(Max)
AS
BEGIN
DECLARE @tblIds TABLE (key1 INT IDENTITY(1,1), myId INT)
DECLARE @tblStatusIds TABLE (key2 INT IDENTITY(1,1), myStatusId INT)
INSERT INTO @tblIds
SELECT ITEMS FROM dbo.Split(@Ids,',')
INSERT INTO @tblStatusIds
SELECT ITEMS FROM dbo.Split(@StatusIds,',')
--//Do your status update here
UPDATE yt.statusId = s.myStatusId
FROM [YourTable] yt JOIN @tblIds i
ON yt.id = i.myId JOIN @tblStatusIds s
ON i.key1 = s.key2
END