【发布时间】:2016-02-10 16:07:21
【问题描述】:
我正在尝试实现一个更新语句,该语句将实现与以下相同的结果。现在我在 php 中编译它,其中创建了 700 多个语句。必须以某种方式更新所有记录的值,其中 id 仅在一个语句中匹配。
UPDATE `table` SET `val1` = 1, `val2` = 2, `val3` = 3 WHERE `id` = 1;
UPDATE `table` SET `val1` = 4, `val2` = 5, `val3` = 6 WHERE `id` = 2;
UPDATE `table` SET `val1` = 7, `val2` = 8, `val3` = 9 WHERE `id` = 3;
etc...
microsoft 网站上的类似内容看起来与我正在寻找的内容有关,但似乎非常强大
UPDATE dbo.DimEmployee
SET VacationHours =
( CASE
WHEN ((VacationHours - 10.00) < 0) THEN VacationHours + 40
ELSE (VacationHours + 20.00)
END
)
WHERE SalariedFlag = 0;
我需要它更像下面的,我不确定它是否可行。
UPDATE 'table'
SET val1,val2,val2 =
(CASE
WHEN (id = 1) THEN val1 = 1, val2 = 2, val3 = 3,
WHEN (id = 2) THEN val1 = 4, val2 = 5, val3 = 6,
WHEN (id = 3) THEN val1 = 7, val2 = 8, val3 = 9
ELSE // do nothing
END
)
【问题讨论】:
标签: php sql-server