Страница 1 из 1
Идентификатор добавленной записи в Firebird
Добавлено: 17 апр 2006, 16:24
Ulrich
Помогите, пожалуйста.
Необходимо сопоставить каждой записи уникальный идентификатор, не добавляя в таблицу лишних данных типа автоинкрементных полей. Лучше всего было бы получить внутренний номер записи, который ей присваивает сам Firebird.
Возможно ли это?
Добавлено: 18 апр 2006, 08:20
Dimitry Sibiryakov
Нет. У записи нет "внутреннего номера". Есть только положение в базе AKA RDB$DB_KEY, но он непостоянен.
Re: Идентификатор добавленной записи в Firebird
Добавлено: 18 апр 2006, 10:41
Ivan_Pisarevsky
Ulrich писал(а):Необходимо сопоставить каждой записи уникальный идентификатор, не добавляя в таблицу лишних данных типа автоинкрементных полей.
Ключ, это не лишние данные, а жизненно необходимый атрибут. Често говоря не преставляю, как реляционная база будет жить без ключей...

Добавлено: 18 апр 2006, 17:49
Merlin
С ключом и дурак сможет. Не кошерно это.
Добавлено: 19 апр 2006, 00:09
Maddy
Гы

А генератор - он не в таблице

Если на то пошло ..... и искуственный pk на генераторе - весчь оччень хорошая - спасает от геморроя

Добавлено: 19 апр 2006, 00:11
Maddy
Merlin писал(а):С ключом и дурак сможет. Не кошерно это.
Но индекс-то все-равно нужен ....
Re: Идентификатор добавленной записи в Firebird
Добавлено: 19 апр 2006, 05:26
DS
Ulrich писал(а):Возможно ли это?
А нафига

Re: Идентификатор добавленной записи в Firebird
Добавлено: 19 апр 2006, 11:07
Ulrich
DS писал(а):Ulrich писал(а):Возможно ли это?
А нафига

Начальство требует.
Добавлено: 19 апр 2006, 14:23
Ulrich
Товарищи, этот rdb$db_key какого типа вообще?
Запросы выводят его значение, а организовать поиск нужной строки по полученному значению не получается.

Ничего не находит.
Добавлено: 19 апр 2006, 14:31
kdv
тебе это точно надо? формат дбкея двоичный.
Добавлено: 19 апр 2006, 14:49
Ulrich
kdv писал(а):тебе это точно надо? формат дбкея двоичный.
А как его в раздел where писать?
Добавлено: 19 апр 2006, 15:11
Merlin
Добавлено: 19 апр 2006, 15:13
kdv
Добавлено: 19 апр 2006, 16:27
Ulrich
Ага! Спасибо! Всё стало немного лучше.
Запросы в isql работают.
Правда, через XSQLDA возвращается какая-то чушь. Продолжаю бороться.

Добавлено: 19 апр 2006, 18:08
kdv
не чушь. читай внимательнее. это двоичный идентификатор в строке.
Чудится мне, что ты нечто нехорошее затеваешь. Но, хозяин - барин.
Добавлено: 20 апр 2006, 16:17
Ulrich
Спасибо за помощь! Теперь всё работает как надо.
Добавлено: 20 апр 2006, 17:21
bachin
может оно и работает, только вот тому кто проэктировал БД без примари кеев ручки то поотрывать бы...