Мне не удалось обновить и вернуть одну строку внутри оператора select. Я не могу использовать выбранное значение из других ответов.
В моем случае я хотел использовать выбранное значение в запросе. Решение, которое я придумал, было:
declare @NextId int
set @NextId = (select Setting from Settings where key = 'NextId')
select @NextId + ROW_NUMBER() over (order by SomeColumnOfYourTable) from YourTable
update Settings set Setting = Setting + @@ROWCOUNT
where key = 'NextId'