アイテム1、2、3、4を更新するには、クエリは次のようになります。
UPDATE Items
SET bitIsTab = 1
WHERE ReqID IN (1,2,3,4);
ただし、以下を使用して実行できますLinq
。
List<int> selectedIds = { 1, 2, 3, 4 };
var itemsToBeUpdated = (from i in yourContext.Items
where selectedIds.Contains(i.ReqID)
select i);
itemsToBeUpdated.ForEach(i=>i.bitIsTab = 1);
yourContext.SubmitChanges();
VARCHAR
または、ストアドプロシージャでを使用することもできます。
CREATE PROCEDURE sp_setTabItems
@ids varchar(500) AS
UPDATE Items
SET bitIsTab = 1
WHERE charindex(',' + ReqID + ',', ',' + @ids + ',') > 0;
次に、ストアドプロシージャパラメータとして「1,2,3,4」を使用します。
ストアドプロシージャを実行するには:
EXEC sp_setTabItems '1,2,3,4'
bitIsTab
パラメータとしてを使用して、より再利用可能な方法で実行することもできます。
CREATE PROCEDURE sp_setTabItems
@isTab bit,
@ids varchar(500) AS
UPDATE Items
SET bitIsTab = @isTab
WHERE charindex(',' + ReqID + ',', ',' + @ids + ',') > 0;
そして、このように実行されました:
EXEC sp_setTabItems '1,2,3,4',1
INT
との比較はでVARCHAR
機能しないため、ストアドプロシージャソリューションを更新しましたEXEC
。