Форум: "Базы";
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];
ВнизОпределить первый свободный ID Найти похожие ветки
← →
Yuvich (2001-12-04 16:11) [3]Если задача стоит именно так, то чтобы исключить ситуацию, описанную Владиславом ("Представь, что получиться, если два пользователя будут одновременно получать такой номер."), надо применить то что предлагает Vadim ("при помощи вспомогательной таблицы").
Вспомогательная таблица ведет список "дыр" в номерах. Как дыра образовалась - ее вставили в эту таблицу; как нужно заполнить дыру - прочитали из этой таблицы минимальный номер и удалили этот номер из этой таблицы. Все делается в триггерах и при блокировках "таблицы дыр", поэтому два пользователя никогда не прочитают один номер. Если используется метод исчисления, то нужно блокировать всю "целевую таблицу" - а это плохо для других пользователей, которые могут просто читать данные.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c