Форумчанам привет.
Подскажите дитю неразумному...
Задача такова:
Необходимо организовать автоматическую нумерацию записей в таблице(табл1) .Количество записей конечно, т.е. никогда не будет больше 100.000. Почти обязательно, чтобы числа шли без пропусков. Т.е. в общем случае генератор использовать не получиться. Единственное, что приходит в голову, это взять и создать отдельную таблицу(табл2) с одним полем где значения будут от 1 до 100000. Соответственно по старту транзакции выбирается минимальное значение из табл2, запись с минимальным число удаляется до завершения трансзакции. Если commit, то запись не восстанавливается, если rollback - восстанавливается. Но алгоритм не нравится. Чувствую, что грабли, но не могу понять где. Подскажите.
Помогите придумать алгоритм
ты про InterlockedIncrement слышал? Mutex? генераторы?Чувствую, что грабли, но не могу понять где.
ну так вот - они все используют метод монопольной блокировки. без которой непрерывную последовательность получить нельзя. Соответственно, в многопользовательской среде это единственный вариант. И реализовать его можно ограниченным числом способов?