Вы действительно можете сделать это только с помощью хорошего инструмента ORM, который генерирует запрос на обновление для вас. Обычно он смотрит на то, что изменилось, и генерирует запрос только для тех столбцов, которые изменились.
Если вы используете хранимую процедуру, то все значения столбцов в любом случае отправляются в базу данных, когда вы вызываете хранимую процедуру, поэтому вы не можете сохранить ее там. SP, вероятно, просто выполнит заурядный оператор UPDATE. RDMS затем вступает во владение. Он не будет физически изменять данные на диске, если он не отличается. Это достаточно умно для этого.
Итак, мой ответ вкратце: не беспокойся об этом. Это не имеет большого значения и требует радикальных изменений, чтобы получить то, что вы хотите, и вы даже не увидите преимущества в производительности.