![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Значение генератора [D7, FireBird]
VitalikS © (2006-10-13 06:30:00)Есть программа которой посылается опраделенное сообщение Windows она в свою очередь его получает и добавляет определенные записи в таблицы.
В таблице есть поле генератор, можно ли как-нибудь получить значение этого поля?
max() не помогает потому что записи кидают 8 компов и соответственно показывается не тот id который должен.
MaxDAG (2006-10-13 16:31:00) [1]В БД создай генератор и продеру вставки, использующую этот генератор и возвращающую результат работы генератора.
Потом вызывай из приложения эту процедуру, она и данные вставит и ID вернет за один вызов.
atruhin (2006-10-13 16:18:00) [2]Нет не получит, он получит следующее значение.
См. gen_id(yor_generator,1).
VitalikS (2006-10-13 14:40:00) [3]
> генераторы работают вне контекста транзакций. какое есть
> значение такое и возвратит запрос. хоть миллиард пользователей.
>
Ну смотри, вот если допустим один пользователь кинул запись в таблицу и пока выполняется запрос на получение id другой тоже кинул запись и соответственно первый получит id второго.
Sergey13 (2006-10-13 08:26:00) [4]> В таблице есть поле генератор, можно ли как-нибудь получить
> значение этого поля?
Я не понял. Нужно значение поля или значение генератора? "поле генератор" - это несуразица какая-то.
Текущее значение генератора см
> [1] Sergey Masloff (13.10.06 06:56)
Но применять это значение дальше нельзя ни в коем случае. Для дальнейшего применения надо запрашивать НОВОЕ значение gen_id(yor_generator,1).
Sergey Masloff (2006-10-13 07:31:00) [5]при чем здесь таблицы? генераторы работают вне контекста транзакций. какое есть значение такое и возвратит запрос. хоть миллиард пользователей.
или ты про таблицу rdb$database? так в нее вообще ничего не пишется. просто чтобы вызвать функцию в контексте sql ее нужно в запросе применить. сколько строк в результате условий запроса столько раз вернется значение функции
VitalikS (2006-10-13 07:18:00) [6]а здесь кол-во клиентов кидающих записи в эту таблицу не будет играть роли?
Sergey Masloff (2006-10-13 06:56:00) [7]select gen_id(yor_generator,0) from rdb$database
или из любой другой таблицы с ровно одной записью