У меня есть хранимая процедура, которая обновляет данные таблицы.Хранимая процедура имеет необязательные параметры со значениями по умолчанию NULL, например:
@parameter1 datatype = NULL,
@parameter2 datatype = NULL,
@parameter3 datatype = NULL.
Мне нужна хранимая процедура для обновления столбца, только если соответствующий параметр не равен NULL.Я думал сделать следующее:
IF @parameter1 IS NOT NULL
UPDATE Table
SET column1 = @parameter1
WHERE id = @id;
IF @parameter2 IS NOT NULL
UPDATE Table
SET column2 = @parameter2
WHERE id = @id;
IF @parameter3 IS NOT NULL
UPDATE Table
SET column3 = @parameter3
WHERE id = @id;
Я не знаю, насколько эффективным будет это решение, поскольку существует 42 столбца, которые необходимо обновить таким образом.Интересно, есть ли более эффективное решение?