Russian Qt Forum

Программирование => Базы данных => Тема начата: Joss от Август 14, 2010, 18:03



Название: UPDATE есть ли возможность игнорировать поля, данные которых NULL
Отправлено: Joss от Август 14, 2010, 18:03
Добрый день,
есть вопрос по работе MS SQL, есть множество хранимых процедур, которые обновляют те или иные записи в таблицах, состоящие из множества полей. Суть в том, что данные для некоторых полей могут быть невалидны и эти поля обновлять не нужно. Можно ли как-то упростить процедуру UPDATE, может быть есть какие-то опции, которых я не знаю, чтобы не писать IF....ELSE для каждого случая.

Т.е. пока я вижу только такой способ и он мне не нравится:

...
IF @a IS NOT NULL 
   BEGIN
      UPDATE T
      SET A = @a, B = @b, C = @c
   END
ELSE
   BEGIN
      UPDATE T
      SET B = @b, C = @c
   END
...



Название: Re: UPDATE есть ли возможность игнорировать поля, данные которых NULL
Отправлено: alexman от Август 14, 2010, 20:30
Через WHERE пробовал?


Название: Re: UPDATE есть ли возможность игнорировать поля, данные которых NULL
Отправлено: Joss от Август 14, 2010, 22:23
А можно чуть подробнее, WHERE как в данном случае использовать?


Название: Re: UPDATE есть ли возможность игнорировать поля, данные которых NULL
Отправлено: alexman от Август 15, 2010, 09:26
UPDATE ... WHERE Field IS NOT NULL ...