#tsql #stored-procedures
#tsql #хранимые процедуры
Вопрос:
Есть ли способ создать ОБНОВЛЕНИЕ stored_procedure с параметрами типа:
@param1 int = null,
@param2 int = null,
@param3 nvarchar(255) = null,
@param4 bit = null,
@id int
и с помощью инструкции UPDATE, которая обновит только поля, которые не являются NULL
итак, если я выполняю
spUpdateProcedure @param1=255, @id=1
if обновит запись @id =1, но это изменит только поле @param1 и проигнорирует изменения в других @param2,3, 4.
Другими словами, это не изменит значение для null
в @param2,3, 4
Спасибо.
Ответ №1:
UPDATE YourTable
SET Column1 = COALESCE(@param1, Column1),
Column2 = COALESCE(@param2, Column2),
...
WHERE id = @id
Ответ №2:
в вашем операторе редактирования вы можете сделать это
update table
set
column1 = isnull(@param1,column1),
column2 isnull(@param2,column2)
Комментарии:
1. @Joe Stefanelli, упс, я хотел сказать в инструкции update. Спасибо, что указали на это!