|
2019/07/30(Tue) 15:48:54 編集(投稿者)
■No91753 (韋駄天 さん) に返信 > 以下のようなデータがある場合に
SQL Server の質問のように見えますが、 分類:[データベース全般]ではなく、 分類:[.NET 全般]になっていますね。 クライアントサイド処理の質問という事でしょうか?
> 以上お願いします。
仕様が書かれているだけで、 肝心の質問内容が何も書かれていないんですが…。
とりあえず【Transact-SQL で行いたい】なら、たとえばこんな感じ。
-- 1 の UPDATE を無条件で投げる UPDATE 対象 SET CWNUM = CWNUM + 1; -- 2 の UPDATE を条件指定で投げる UPDATE 対象 SET PNUM=WNUM WHERE CWNUM >= CNUM;
【OR マッパー等で IEnumerable<> か何かに保持されている場合】はこんな感じ。
// C# foreach (var rec in records) { if (rec.CNUM <= ++rec.CWNUM) { rec.PNUM = rec.WNUM; } }
【DataTable に保持されている場合】だとこうかな。
' Visual Basic ( Option Strict Off ) For Each row In dt.AsEnumerable() row!CWNUM += 1 If CInt(row!CWNUM) >= CInt(row!CNUM) Then row!PNUM = row!WNUM End If Next
|