Форум: "Базы";
Текущий архив: 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.035 c