IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.
Модератор: kdv
-
Ulrich
- Сообщения: 6
- Зарегистрирован: 17 апр 2006, 16:12
Сообщение
Ulrich » 17 апр 2006, 16:24
Помогите, пожалуйста.
Необходимо сопоставить каждой записи уникальный идентификатор, не добавляя в таблицу лишних данных типа автоинкрементных полей. Лучше всего было бы получить внутренний номер записи, который ей присваивает сам Firebird.
Возможно ли это?
-
Dimitry Sibiryakov
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Сообщение
Dimitry Sibiryakov » 18 апр 2006, 08:20
Нет. У записи нет "внутреннего номера". Есть только положение в базе AKA RDB$DB_KEY, но он непостоянен.
-
Ivan_Pisarevsky
- Заслуженный разработчик
- Сообщения: 644
- Зарегистрирован: 15 фев 2005, 11:34
Сообщение
Ivan_Pisarevsky » 18 апр 2006, 10:41
Ulrich писал(а):Необходимо сопоставить каждой записи уникальный идентификатор, не добавляя в таблицу лишних данных типа автоинкрементных полей.
Ключ, это не лишние данные, а жизненно необходимый атрибут. Често говоря не преставляю, как реляционная база будет жить без ключей...

-
Merlin
- Динозавр IB/FB
- Сообщения: 1502
- Зарегистрирован: 27 окт 2004, 11:44
Сообщение
Merlin » 18 апр 2006, 17:49
С ключом и дурак сможет. Не кошерно это.
-
Maddy
- Сообщения: 2
- Зарегистрирован: 19 апр 2006, 00:06
Сообщение
Maddy » 19 апр 2006, 00:09
Гы

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

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

-
Maddy
- Сообщения: 2
- Зарегистрирован: 19 апр 2006, 00:06
Сообщение
Maddy » 19 апр 2006, 00:11
Merlin писал(а):С ключом и дурак сможет. Не кошерно это.
Но индекс-то все-равно нужен ....
-
DS
- Сообщения: 41
- Зарегистрирован: 17 фев 2005, 16:54
Сообщение
DS » 19 апр 2006, 05:26
Ulrich писал(а):Возможно ли это?
А нафига

-
Ulrich
- Сообщения: 6
- Зарегистрирован: 17 апр 2006, 16:12
Сообщение
Ulrich » 19 апр 2006, 11:07
DS писал(а):Ulrich писал(а):Возможно ли это?
А нафига

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

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

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