1
我有一个要求在更新表中一列,如果列具有被不喜欢输入空值或值更新列。如何根据条件
是否有可能做一个单一的SQL查询?我的数据库是DB2
我曾尝试下面的一个,但即使变化是不存在的,它正在更新。我不想那样。
UPDATE ABC
SET AG = CASE
WHEN AG IS NULL
OR AG <> 1000010
THEN 1000010
ELSE AG
END,
P = CASE
WHEN P IS NULL
OR P <> 1235
THEN 1235
ELSE P
END
WHERE c = 607
我很抱歉,但究竟这不同于只是'UPDATE ABC SET AG = 1000010,P = 1235'? – raina77ow
有没有你不想要更新已经有值行的原因是什么?你是否试图避免执行数据库触发器?无论如何,我认为两条更新声明可能是最好的选择。 – mwolfetech
或者,你是否正在更新另一列(如update_timestamp)?无论哪种方式,我建议编辑你的SQL来更好地模拟你的实际问题。 – mwolfetech