Страница 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 писал(а):Необходимо сопоставить каждой записи уникальный идентификатор, не добавляя в таблицу лишних данных типа автоинкрементных полей.
Ключ, это не лишние данные, а жизненно необходимый атрибут. Често говоря не преставляю, как реляционная база будет жить без ключей... :shock:

Добавлено: 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 писал(а):Возможно ли это?
А нафига :roll:

Re: Идентификатор добавленной записи в Firebird

Добавлено: 19 апр 2006, 11:07
Ulrich
DS писал(а):
Ulrich писал(а):Возможно ли это?
А нафига :roll:
Начальство требует.

Добавлено: 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
Короче, тебе сюда. На самом деле познавательно:

http://search.atomz.com/search/?sp-q=tn ... m=1&sp-s=0

Добавлено: 19 апр 2006, 15:13
kdv

Добавлено: 19 апр 2006, 16:27
Ulrich
Ага! Спасибо! Всё стало немного лучше. :)
Запросы в isql работают.
Правда, через XSQLDA возвращается какая-то чушь. Продолжаю бороться. :evil:

Добавлено: 19 апр 2006, 18:08
kdv
не чушь. читай внимательнее. это двоичный идентификатор в строке.
Чудится мне, что ты нечто нехорошее затеваешь. Но, хозяин - барин.

Добавлено: 20 апр 2006, 16:17
Ulrich
Спасибо за помощь! Теперь всё работает как надо.

Добавлено: 20 апр 2006, 17:21
bachin
может оно и работает, только вот тому кто проэктировал БД без примари кеев ручки то поотрывать бы...