Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Использование плана в запросах / 7 сообщений из 7, страница 1 из 1
27.05.2004, 11:36:57
    #32536251
vovan1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование плана в запросах
на одной базе добавляю вторичный ключ, имя его индекса автоматически присваивается типа RDB$FOREIGHN15, далее в программе его прописываю в плане.
на другой базе на то же поле добавляю вторичный ключ, имя его индекса автоматически присвивается RDB$FOREIGN16.
Пробую запустить программу и в результате получаю ошибку - типа не найден нужный индекс, как поступать в этом случае?
...
Рейтинг: 0 / 0
27.05.2004, 11:51:00
    #32536297
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование плана в запросах
Ручками задавать имя индекса.
...
Рейтинг: 0 / 0
28.05.2004, 15:40:06
    #32539126
vovan1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование плана в запросах
в IB6.0 не канает :(
...
Рейтинг: 0 / 0
28.05.2004, 16:02:24
    #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
28.05.2004, 17:07:56
    #32539368
vovan1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование плана в запросах
создавать такие триггеры уже поздно, база уже полная и пересоздавать вторичные ключи слишком хлопотно. Можно вручную прописать в системных таблицах, но это слишком опасно :( и не хорошо.
...
Рейтинг: 0 / 0
28.05.2004, 17:42:43
    #32539432
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование плана в запросах
vovan1создавать такие триггеры уже поздно
Какие триггеры? Я где-то упомянул слово "триггер"?
vovan1база уже полная и пересоздавать вторичные ключи слишком хлопотно
Не настолько хлопотно как кажется.
...
Рейтинг: 0 / 0
28.05.2004, 18:02:46
    #32539452
vovan1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование плана в запросах
авторКакие триггеры? Я где-то упомянул слово "триггер"?
Это у меня в конце рабочего дня голова уже вскипела:) Думаю одно, пишу другое:)
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Использование плана в запросах / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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