Ищете какое-то представление о том, является ли процедура Upsert (вставка или если существует, а затем обновление) считается плохой практикой в программировании базы данных. Я работаю на SQL-сервере, если это имеет какое-либо значение.
В месте, где я работал несколько месяцев назад, резидентный DB-гуру изложил в недавно написанных стандартах кодирования db (большинство из которых я согласился), что Upserts следует избегать.
Я не могу понять логическую причину этого и считаю, что я сам разумно осознал хорошую практику программирования. Я думаю, что они полезны для прямого управления данными и помогают избежать избыточных номеров хранимых процедур.
Ищете какое-то понимание/дискуссию, которые помогут мне прийти к выводу об этом.
Спасибо.
Обновление В ответ на комментарии:
Конкретный контекст, на который я ссылаюсь, - это создание или обновление представления данных сущности домена в базе данных. Скажем, например, объект "Человек" существует как представление таблицы "Человек" в базе данных. Мне просто нужен механизм для создания нового Человека или обновления существующего. Здесь у меня есть возможность создать хранимую процедуру Upsert или две отдельные хранимые процедуры: одну для обновления и одну для вставки.
Любые преимущества или недостатки в любом виде?