Как найти наименьшее неиспользованное число в столбце SQL Server?
Я собираюсь импортировать большое количество записанных вручную записей из Excel в таблицу SQL Server. Все они имеют числовой идентификатор (называемый номером документа), но они не были назначены последовательно по причинам, которые больше не применяются, то есть теперь, когда мой веб-сайт записывает новую запись, ему необходимо присвоить ему наименьший возможный номер документа ( больше нуля), который еще не был выполнен.
Есть ли способ сделать это с помощью простого SQL или это проблема для TSQL/code?
Спасибо!
ИЗМЕНИТЬ
Особая благодарность WW за поднятие проблемы concurrency. Учитывая, что это веб-приложение, оно является многопоточным по определению, и каждый, кто столкнулся с этой проблемой, должен учитывать блокировку кода или уровня БД для предотвращения конфликта.
LINQ
FYI - это может быть выполнено через LINQ со следующим кодом:
var nums = new [] { 1,2,3,4,6,7,9,10};
int nextNewNum = (
from n in nums
where !nums.Select(nu => nu).Contains(n + 1)
orderby n
select n + 1
).First();
nextNewNum == 5