有没有一种简单的方法可以在存储过程中执行单个更新语句,这样我们就可以忽略符合特定条件的变量?
例如一般声明是:
更新 XYZ 设置 a = z、b = y、c = x
但是如果 y 为 NULL 那么它会忽略语句的 b = y 段?
我不想为每个变量使用 IF,然后构建并连接一条语句或逐一更新列...
我看过Here它似乎走在正确的轨道上,但我认为它是为了更新值(如果它为 NULL),而不是如果变量本身为 null?!
我正在使用 MySQL,但不太好用。而且我不知道以上就是我所追求的,其他搜索被证明是徒劳的。
最佳答案
只需使用coalesce()
:
UPDATE XYZ
SET a = z,
b = COALESCE(y, b),
c = x;
关于mysql - 从存储过程更新,但仅当变量不为空时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48263744/