Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
Alex Romanskiy ©   (2005-06-07 20:30) [0]

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


 
GLFox ©   (2005-06-07 20:37) [1]

select gen_id(GENERATOR_NAME,0) from RDB$DATABASE


 
Alex Romanskiy ©   (2005-06-07 20:39) [2]


> GLFox ©   (07.06.05 20:37) [1]

Спасибо большое.


 
Zacho ©   (2005-06-07 21:10) [3]

Кстати, если это надо в триггере или ХП, то select не нужен.

P.S. Интересно, а зачем вообще может понадобиться текущее значение генератора ?


 
Mike Kouzmine ©   (2005-06-07 21:42) [4]

Zacho ©   (07.06.05 21:10) [3] Для большей уверенности.


 
Zacho ©   (2005-06-07 21:44) [5]

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


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


 
Johnmen ©   (2005-06-08 10:58) [6]

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

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


 
Sergey13 ©   (2005-06-08 11:10) [7]

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


 
stud ©   (2005-06-08 11:24) [8]


> Почему?

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


 
Romkin ©   (2005-06-08 11:27) [9]

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


 
Sergey13 ©   (2005-06-08 11:34) [10]

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


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

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


 
Sergey13 ©   (2005-06-08 11:44) [12]

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


 
Val ©   (2005-06-08 11:52) [13]

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


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

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


 
Val ©   (2005-06-08 11:58) [15]

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


 
Sergey13 ©   (2005-06-08 12:03) [16]

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


 
Val ©   (2005-06-08 12:10) [17]

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


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

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


 
Val ©   (2005-06-08 12:23) [19]

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


 
Sergey13 ©   (2005-06-08 12:27) [20]

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


 
Zacho ©   (2005-06-08 20:41) [21]

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

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

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


 
Sergey13 ©   (2005-06-09 09:31) [22]

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

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


 
Johnmen ©   (2005-06-09 09:45) [23]

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

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


 
Zacho ©   (2005-06-09 10:07) [24]

Johnmen ©   (09.06.05 9:45) [23]

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



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

Форум: "Базы";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.041 c
3-1118066735
Микола
2005-06-06 18:05
2005.07.18
ComboBox в DBGrid е - возможно?


8-1111300604
dimon__
2005-03-20 09:36
2005.07.18
Как получить изображение с web -камеры!


4-1116593693
Rius
2005-05-20 16:54
2005.07.18
Панели групп как в Windows Explorer через MS Visual Styles API ?


8-1111498488
Graff
2005-03-22 16:34
2005.07.18
Запись в MP3 файл тэга


4-1117047851
kat
2005-05-25 23:04
2005.07.18
Использование чужих классов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский