Я пытаюсь сделать классический сценарий вставки / обновления, где мне нужно обновить существующие строки в базе данных или вставить их, если их там нет.
Я нашел предыдущий вопрос по теме , но он касается хранимых процедур, которые я не использую. Я хотел бы просто использовать простые операторы SQL SELECT, INSERT и UPDATE, если нет чего-то лучшего (оператор MERGE недоступен в SQL Server 2005).
Полагаю, моя общая идея такова:
If the row is found
update
else
insert
Что касается проверки на существование строки, насколько дорого делать оператор SELECT перед вызовом UPDATE или INSERT? Или лучше просто попробовать ОБНОВИТЬ, проверить количество затронутых строк, а затем сделать ВСТАВКУ, если количество затронутых строк равно 0?