Вниз
Скачать: CL | DM;

Значение генератора   Найти похожие ветки 

 
VitalikS   (2006-10-13 06:30) [0]

Есть программа которой посылается опраделенное сообщение Windows она в свою очередь его получает и добавляет определенные записи в таблицы.
В таблице есть поле генератор, можно ли как-нибудь получить значение этого поля?
max() не помогает потому что записи кидают 8 компов и соответственно показывается не тот id который должен.


 
Sergey Masloff   (2006-10-13 06:56) [1]

select gen_id(yor_generator,0) from rdb$database

или из любой другой таблицы с ровно одной записью


 
VitalikS   (2006-10-13 07:18) [2]

а здесь кол-во клиентов кидающих записи в эту таблицу не будет играть роли?


 
Sergey Masloff   (2006-10-13 07:31) [3]

при чем здесь таблицы? генераторы работают вне контекста транзакций. какое есть значение такое и возвратит запрос. хоть миллиард пользователей.
или ты про таблицу rdb$database? так в нее вообще ничего не пишется. просто чтобы вызвать функцию в контексте sql ее нужно в запросе применить. сколько строк в результате условий запроса столько раз вернется значение функции


 
Sergey13 ©   (2006-10-13 08:26) [4]

> В таблице есть поле генератор, можно ли как-нибудь получить
> значение этого поля?

Я не понял. Нужно значение поля или значение генератора? "поле генератор" - это несуразица какая-то.
Текущее значение генератора см
> [1] Sergey Masloff   (13.10.06 06:56)
Но применять это значение дальше нельзя ни в коем случае. Для дальнейшего применения надо запрашивать НОВОЕ значение gen_id(yor_generator,1).


 
VitalikS   (2006-10-13 14:40) [5]


> генераторы работают вне контекста транзакций. какое есть
> значение такое и возвратит запрос. хоть миллиард пользователей.
>

Ну смотри, вот если допустим один пользователь кинул запись в таблицу и пока выполняется запрос на получение id другой тоже кинул запись и соответственно первый получит id второго.


 
atruhin ©   (2006-10-13 16:18) [6]

Нет не получит, он получит следующее значение.
См. gen_id(yor_generator,1).


 
MaxDAG ©   (2006-10-13 16:31) [7]

В БД создай генератор и продеру вставки, использующую этот генератор и возвращающую результат работы генератора.
Потом вызывай из приложения эту процедуру, она и данные вставит и ID вернет за один вызов.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.038 c
15-1164825067
Den303
2006-11-29 21:31
2006.12.24
Работа с фотоаппаратом


3-1160711164
Дырчик
2006-10-13 07:46
2006.12.24
Cannot load driver


2-1165417135
alexa14
2006-12-06 17:58
2006.12.24
Значки в popupmenu


10-1126203556
WonderfulDay
2005-09-08 22:19
2006.12.24
Flash movie


3-1160636165
Alvin
2006-10-12 10:56
2006.12.24
Изменения данных в БД на SQL Server




   Наверх