обновить условно поле, если параметр не равен NULL - PullRequest
1 голос
/ 27 января 2012

Мне нужен запрос для обновления одного поля. Если переданный параметр является нулевым, НЕ обновляйте его нулевым значением параметра

update myTable 
set myField1 = :param1

среда: спящий и оракул

1 Ответ

5 голосов
/ 27 января 2012

Не могли бы вы просто положить его туда, где предложение?

update myTable
   set myField1 = :param1
 where :param1 is not null

Это позволит избежать дополнительного DML.В качестве альтернативы вы можете сделать:

update myTable
   set myField1 = decode(:param1, null, myField1, :param)

Но это означает, что вы обновите поле на то же самое, что не совсем оптимально, когда вам не нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...