![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
1,2,3,... многопользовательский вариант [D7, IB6.x]
AndrewVolkov © (2003-05-14 20:29:00)Доброго всем вечера
Вопрос следующего характера.
Многопользовательская база на 6 Интербейсе.
Проблема в следующем. Служит для регистрации людей (грубо говоря раз в месяц все повторяется)
Суть в следующем. Происходит регистрация людей, в итоге каждый должен получить свой номер. К примеру -1-ый, 2-ой, 3-ий
Через месяц то же самой повторяется. И опять надо начать нумерацию сначала, т.е. 1-ый, 2-ой и т.д.
Насколько я понимаю, генератор использовать неудобно, так как нумерация должна начинаться каждый раз с нуля. А вариант каждый раз к примеру брать max(NumberPeople), если первый клиентский комп запросит максимум - ему вернут к примеру 120, а через момент второй клиентский комп туда закинет запись В итоге получится клин 2 - 121 поля (а если по ним уникальный индекс, тогда ошибка)
Если кто сталкивался - как правильнее решить такую проблему???
Спасибо...
AndrewVolkov (2003-05-15 00:59:00) [1]Все разобрался, большое всем спасибо
натолнули на мысль, что у меня под столом лежит книга по Интербейсу
Там все отлично расписано
AndrewVolkov (2003-05-15 00:43:00) [2]с генератором как-то не хочется, удобнее в даном слчае было бы через маx(). Но не могу нигде найти, как сделать, чтобы транзакция ждала и не читала и не писала, пока эту таблицу не отпустит другая транзакция
kaif (2003-05-15 00:35:00) [3]А почему нельзя сбрасывать генератор в 0 ?
SET GENERATOR my_generator TO 0
AndrewVolkov (2003-05-15 00:21:00) [4]Почитал - суть понял, как сделать не понял
Что я должен где поставить
если одной транзакцией хочу сделать
выбор мах(fields)
2-ой insert
commit
как на время выполнение этой транзакции запретить другим транзакциям вообще чтение таблицы, точнее чтобы они ждали
Zacho (2003-05-14 21:02:00) [5]Стандартный подход:
Редактирование номеров запрещено.
Удаление записей запрещено.
При вставке новой записи таблица блокируется до окончания вставки. По этому вопросу читать http://www.ibase.ru/devinfo/pslock.htmи http://www.ibase.ru/devinfo/ibtrans.htm