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