вытаскивать значение с помощью 'output inserted.<column>', если 'column' по факту не был изменен (то есть inserted)? (пример 1)
Или лучше делать как во втором примере?
Будет ли второй пример как то оптимизирован, что 'id' не будет искаться дважды?
-- пример 1
update <table>
set <column_1> = @value
output inserted.<column_2> -- not actually inserted
where id = @id
-- пример 2
update <table> set <column_1> = @value where id = @id
select <column_2> from <table> where id = @id
Что мешает лично провести тест первого варианта? Во втором варианте автоматической "оптимизации" не будет.
первый вопрос не про производительность, а про 'best practices', и принято ли так делать
В первом примере можно дописать column_2=column_2 и в output получить то что нужно
в output и так получается то что нужно, даже если значение не было обновлено
Обсуждают сегодня