У меня есть таблица с полем NUMERIC(38,0)
с именем FOO
.В операторе UPDATE
я уже обновляю два других поля VARCHAR2
, BAR
и BAZ
, безоговорочно.
Как можно умно обновить FOO
до NULL, если значение привязки равнона FOO
, остальное оставить нетронутым?Из-за различных ограничений, я должен быть в состоянии сделать это без PL / SQL.
Пример # 1: Если текущая запись имеет FOO
как 123, мне нужен оператор UPDATE
с FOO=123, BAR='Abc', BAZ='Def'
, чтобы обновить BAR
и BAZ
и установить FOO
в NULL
.
Пример # 2: Если текущая запись имеет FOO
как 123, мне нужен оператор UPDATE
с FOO=299, BAR='Abc', BAZ='Def'
, чтобы обновить BAR
и BAZ
, но оставить FOO
как 123.
БД - это Oracle
Я пытался приготовить что-нибудь умное с BITAND
и nvl
+ другими, но не совсем нашел что-то, что работает.
Спасибо!- vgort