UPDATE で CASE 文
SQL Server で、UPDATE 時の更新値を CASE で分岐させたい場合。
テーブル設計にもよるが、条件を分け複数回の UPDATE の方が速かったりすることもあるので、書けるからといって何でもこういう書き方で実装ししてしまうのは危険だ。
-- CASE 文は他の書き方でも良い。 UPDATE Hoge SET Point = CASE WHEN (NowPoint - @GetPoint) >= 0 THEN NowPoint - @GetPoint ELSE 0 END WHERE Cd = @Cd簡単な更新であればこの通りでも良いと思うのだが、大量のデータをこうやって分岐させながら更新するのは経験上パフォーマンスが悪いように思う。
テーブル設計にもよるが、条件を分け複数回の UPDATE の方が速かったりすることもあるので、書けるからといって何でもこういう書き方で実装ししてしまうのは危険だ。