powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Использование плана в запросах
7 сообщений из 7, страница 1 из 1
Использование плана в запросах
    #32536251
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на одной базе добавляю вторичный ключ, имя его индекса автоматически присваивается типа RDB$FOREIGHN15, далее в программе его прописываю в плане.
на другой базе на то же поле добавляю вторичный ключ, имя его индекса автоматически присвивается RDB$FOREIGN16.
Пробую запустить программу и в результате получаю ошибку - типа не найден нужный индекс, как поступать в этом случае?
...
Рейтинг: 0 / 0
Использование плана в запросах
    #32536297
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ручками задавать имя индекса.
...
Рейтинг: 0 / 0
Использование плана в запросах
    #32539126
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в IB6.0 не канает :(
...
Рейтинг: 0 / 0
Использование плана в запросах
    #32539190
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть одно решение, но на грани фола...
Перед тем как создавать ключ, глянь значение системного генератора Rdb$index_name
Код: plaintext
SELECT GEN_ID(Rdb$index_name, 0 ) FROM RDB$DATABASE
И принудительно выставь его в заведомо большее значение (для обеих баз)
Именно он отвечает за суффикс, который добавляется к строке "RDB$FOREIGN" для автоматического формирования уникального имени индекса.
Например, выставить его в 100 можно так:
Код: plaintext
SELECT GEN_ID(Rdb$index_name,  100  - (GEN_ID(Rdb$index_name,  0 ))) FROM RDB$DATABASE
В этом случае, при создании ключа, индекс гарантировано получит имя RDB$FOREIGN101 .
Но учти, злоупотреблять этим особо не стОит, как и вообще, без особой нужды, лазить в системные таблицы.
...
Рейтинг: 0 / 0
Использование плана в запросах
    #32539368
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
создавать такие триггеры уже поздно, база уже полная и пересоздавать вторичные ключи слишком хлопотно. Можно вручную прописать в системных таблицах, но это слишком опасно :( и не хорошо.
...
Рейтинг: 0 / 0
Использование плана в запросах
    #32539432
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vovan1создавать такие триггеры уже поздно
Какие триггеры? Я где-то упомянул слово "триггер"?
vovan1база уже полная и пересоздавать вторичные ключи слишком хлопотно
Не настолько хлопотно как кажется.
...
Рейтинг: 0 / 0
Использование плана в запросах
    #32539452
vovan1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКакие триггеры? Я где-то упомянул слово "триггер"?
Это у меня в конце рабочего дня голова уже вскипела:) Думаю одно, пишу другое:)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Использование плана в запросах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]