Эта базовая идея должна работать:
UPDATE Table
SET Name = ISNULL(@Name, Name),
Email = ISNULL(@Email, Email),
Phone = ISNULL(@Phone, Phone)
WHERE id = @id
Так что, если @Name
равно NULL, Name
не изменяется.Если @Name
равно , а не NULL, ему присваивается значение Name
и т. Д. *
--- EDIT ---
Конечно @clintp, вариант COALESCE будет выглядеть так:
UPDATE Table
SET Name = COALESCE(@Name, Name),
Email = COALESCE(@Email, Email),
Phone = COALESCE(@Phone, Phone)
WHERE id = @id