使用CASE语句更新多行

Cas*_*ian 0 sql sql-server stored-procedures

这就是我想要做的.基本上我有一些故意在表格中留空Staging_X并且稍后要更新.我想使用以下case条件更新这些列.我想在存储过程中实现它.

UPDATE Staging_X 
   SET Staging_X.[NoMaterial]
      (SELECT (case 
                 when ((([Up]+[Test])+[Mon])+[Down_percentage])*(1.68)=(0) 
                 then (168) else [Lost]*(1.68) 
               end) 
         FROM Staging_X)
Run Code Online (Sandbox Code Playgroud)

t-c*_*.dk 5

UPDATE Staging_X 
SET [NoMaterial] = 
    case when [Up]+[Test]+[Mon]+[Down_percentage]=0 
    then 168 else [Lost]*1.68 end
WHERE [NoMaterial] is null
Run Code Online (Sandbox Code Playgroud)