Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как в InterBase получить текущее значение генератора?


Страницы:   1 2

Alex Romanskiy ©   (2005-06-07 20:30:00) 

Как в результате запроса или еще каким нибудь способом получить текущее значение определенного генератора в InterBase?
Наверно можно использовать Gen_ID(G1,0), но как именно?
Спасибо.


Zacho   (2005-06-09 10:07:00) [1]

Johnmen ©   (09.06.05 9:45) [23]

Да собственно, я спросил это, т.к. и здесь, и в других местах регулярно наблюдаются вопросы с текущимзначением. Вот мне и стало интересно, может есть какое-то практическое применение, а я и не знаю ? :)


Johnmen   (2005-06-09 09:45:00) [2]

>Zacho ©   (08.06.05 20:41) [21]
>Зачем вообще может понадобиться текущее значение генератора ?

В голову приходит только извращение в виде хранения в генераторах некоторых констант/параметров.
А в целом - затрудняюсь ответить...


Sergey13   (2005-06-09 09:31:00) [3]

2[21] Zacho ©   (08.06.05 20:41)
>P.S. За 7 лет работы я использовал .. GEN_ID(..,0) только один раз, и то случай был весьма специфический.

Таки есть такие примеры! 8-)


Zacho   (2005-06-08 20:41:00) [4]

Ну, а кто-нибудь ответит на мой вопрос : Зачем вообще может понадобиться текущеезначение генератора ?

Только, пожалуйста, приводите примеры из практики. А всяких фантастических примеров я и сам могу придумать.

P.S. За 7 лет работы я использовал .. GEN_ID(.., 0)только один раз, и то случай был весьма специфический.


Sergey13   (2005-06-08 12:27:00) [5]

2[19] Val ©   (08.06.05 12:23)
Да не за что. С хорошим человеком всегда приятно поговорить. 8-)


Val   (2005-06-08 12:23:00) [6]

Ок, спасибо за беседу. Просто в [10] Sergey13 ©   (08.06.05 11:34) фраза построена несколько двусмысленно. прочитать можно по разному.


Sergey13   (2005-06-08 12:18:00) [7]

А я про других и не говорю. Мне до них дела нет. 8-)
Я говорю, что для любых незаблокированных данных можно получить лишь текущеезначение. И только для заблокированных текущее будет совпадать с истинным на дюбой момент времени.


Val   (2005-06-08 12:10:00) [8]

это понятно. ну так и другие смогут любоваться теми же данными. чтение же не блокируется.


Sergey13   (2005-06-08 12:03:00) [9]

2 [15] Val ©   (08.06.05 11:58)
Я говорю о том, что если я заблокирую от изменений что либо, то я могу любоваться истинными данными этого чего либо, сколь угодно долго. Ну или пока админ меня не прибьет. 8-)


Val   (2005-06-08 11:58:00) [10]

ну и? продолжите мысль, пожалуйста, возможно мы о чем-то разном.


Sergey13   (2005-06-08 11:54:00) [11]

2[13] Val ©   (08.06.05 11:52)
Ну а если нечто вроде select ... for update?


Val   (2005-06-08 11:52:00) [12]

>[12] Sergey13 ©   (08.06.05 11:44)
Не понял. Отставим генераторы, с этим ясно. Я говорю о том, что ваше утверждение, имхо, верно для понятия "на момент запроса" и без оговорки на блокировки, поскольку(оговоримся, что TIL READ COMMITED), вы читаете подтвержденные данные, блокируются же они при выполнении изменений, так что вы все равно получите или то что было закоммичено до или то что после блокировки, так что, все-равно вы получаете данные _на_момент_запроса_.Так?


Sergey13   (2005-06-08 11:44:00) [13]

2[11] Val ©   (08.06.05 11:37)
То, что запрошеное не изменилось. Генераторы к этому не относятся понятно, ибо их вроде не заблокируешь.


Val   (2005-06-08 11:37:00) [14]

[10] Sergey13 ©   (08.06.05 11:34)
а что в этом утверждении меняют блокировки?


Sergey13   (2005-06-08 11:34:00) [15]

текущее значение говорит о том, что это значение на момент запроса. В клиент серверных (да и в локальных в принципе то) БД все данные полученые запросами, являются текущими, если не были применены блокировки.


Romkin   (2005-06-08 11:27:00) [16]

Sergey13 ©   (08.06.05 11:10) [7] Потому что это примерно соответствует понятию "мгновенная скорость" :)))
При многопользовательской работе ничто не гарантирует, что полученное значение не изменилось за время получения :)


stud   (2005-06-08 11:24:00) [17]


> Почему?

потому что сосед может его изменить


Sergey13   (2005-06-08 11:10:00) [18]

2[6] Johnmen ©   (08.06.05 10:58)
Почему?


Johnmen   (2005-06-08 10:58:00) [19]

>Как в результате запроса или еще каким нибудь способом получить
>текущее значение определенного генератора в InterBase?

В общем случае - НИКАК !


Zacho   (2005-06-07 21:44:00) [20]

Mike Kouzmine ©   (07.06.05 21:42) [4]
Для большей уверенности


Уверенности в чём?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо