Есть ли лучший способ написать этот запрос в функции plpgsql, чем почти дублирование запроса дважды?Любой способ сказать, что если valB
равно нулю, то оно должно совпадать с любым значением в colB
, по существу, удаляясь из предложения where?
if (valB is not null) then
update mytable set colA = valA where (colB, colC) = (valB, valC);
else
update mytable set colA = valA where (colC) = (valC);
end if;