从存储过程更新,但仅当变量不为null时

Jamheadart

有没有一种简单的方法可以在存储过程中执行单个更新语句,而在该过程中我们可以忽略适合特定条件的变量?

例如,一般性声明为:

UPDATE XYZ SET a = z, b = y, c = x

但是如果y为NULL,那么它将忽略语句的b = y段?

我不想为我们提供每个变量的IF,然后构建并连接一条语句或一一更新列...

我看过这里,它似乎在正确的轨道上,但是我认为它是用于更新值(如果其值为NULL),而不是如果变量本身为null ?!

我正在使用MySQL,但不是很好。而且我不是上面所说的,其他搜索都证明是徒劳的。

戈登·利诺夫

只需使用coalesce()

UPDATE XYZ
    SET a = z,
        b = COALESCE(y, b),
        c = x;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章