是否有一种简单的方法可以在存储过程中执行单个更新语句,我们可以忽略符合某种条件的变量?
E.g。一般声明是:
UPDATE XYZ SET a = z, b = y, c = x
但如果y为NULL,那么它会忽略语句的b = y段吗?
我不希望我们为每个变量提供IF,然后构建并连接一个语句或逐个更新列...
我看了Here,它似乎在正确的轨道上,但我认为如果它的NULL更新值,而不是变量本身为空?!
我使用MySQL,但不是很好。而且我不知道以上是我所追求的,其他搜索也没有结果。
答案 0 :(得分:2)
只需使用coalesce()
:
UPDATE XYZ
SET a = z,
b = COALESCE(y, b),
c = x;