Но тем не менее.
Понятно, что можно вытащить так
Код: Выделить всё
select gen_id(gen_name,0) from rdb$database
Код: Выделить всё
select gen_id(gen_name,0) from rdb$database
Оскомину - это слишком мягко сказано. У хранителей святыни палец пляшет на курке (С). Так что бегом на www.ibase.ru и читать статью про генераторы. В перевую очередь про то, почему ТАК ДЕЛАТЬ НЕ НАДО! Если чего непонятно - читать ещё раз.RoloTomasi писал(а):Вопрос, наверное, кому-то уже набивший оскомину.
Но тем не менее.
Код: Выделить всё
select gen_id(gen_name,0) from rdb$database
Код: Выделить всё
select RDB$DB_KEY from rdb$database
Мляяя... Ну, напросился. Да плевать мне, что ты несогласен. И мирозданию в целом тоже. Цитирую упомянутую статью через клипборд:RoloTomasi писал(а):Не согласен, если я просто хочу получить текущее значение генератора, после вставки записи, это вполне нормальный случай.
Детям спички не игрушка. Особенно таким.RoloTomasi писал(а): А насчет DB_KEY потому и спрашиваю если кто в курсе.
И приводится именно тот select.Merlin писал(а):А чуть выше написано, что значение генератора надо получать с клиента ДО вставки записи и написано КАК.
Да ни хрена не тот.RoloTomasi писал(а):И приводится именно тот select.Merlin писал(а):А чуть выше написано, что значение генератора надо получать с клиента ДО вставки записи и написано КАК.
Кто б сомневался.RoloTomasi писал(а): Ещё раз подчеркну, мне не надо растолковывать о правильности, понимаю не хуже уж тебя точно,
select count(*) from rdb$generatorsRoloTomasi писал(а): мне интересна возможность вытащить это значение без указания имени генератора. И все, учить будешь кошака своего.
Бывает или "текущее значение генератора" - обычно никому не нужная величина, или "значение генератора, использованное для вставки" - неуловимая величина в многопользовательском окружении.RoloTomasi писал(а):Не согласен, если я просто хочу получить текущее значение генератора, после вставки записи, это вполне нормальный случай.
IDENTITY - самое идиотическое 'решение' проблемы генерации значений, какое только можно придумать. В FB его не было, нет и не будет. Сейчас есть единственный способ - сгенерировать значение до вставки и использовать его. В FB2 есть INSERT ... RETURNINGRoloTomasi писал(а):Это криминально когда пытаются использовать значения генератора не "запуская" сам генератор, для тех же целей identity при вставки записи.
DB_KEY тут абсолютно не в кассу. Его ещё можно было бы применить при UPDATE, но никак не при INSERTRoloTomasi писал(а):А насчет DB_KEY потому и спрашиваю если кто в курсе.
Насчет идиотического решения согласен,hvlad писал(а): IDENTITY - самое идиотическое 'решение' проблемы генерации значений, какое только можно придумать. В FB его не было, нет и не будет. Сейчас есть единственный способ - сгенерировать значение до вставки и использовать его. В FB2 есть INSERT ... RETURNING
DB_KEY тут абсолютно не в кассу. Его ещё можно было бы применить при UPDATE, но никак не при INSERT
Была такая мысль. В тех же тригерах(BI) что автоинкрементят реализовать.eugeney писал(а):Если очеш гемороя, то сделай себе external table, по тригеру заполняй там свое знаечние переменной. Эта таблица будет лежать вне контекста транзации. И будет иметь только одной последнее значение.