powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Хотелка: alter table <detail> add constraint <FK> ... using <EXISTSING_detail_table_index>
2 сообщений из 2, страница 1 из 1
Хотелка: alter table <detail> add constraint <FK> ... using <EXISTSING_detail_table_index>
    #38709674
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hi all

Есть таблица-деталь `td`, на ней - FK-ограничение, с индексом td_pid.
Со временем стало ясно, что на эту таблицу неплохо бы навесить составной индекс по полям: {pid, qid, sid}.
Сразу, есс-но, лезет вопрос: а нафига тогда тот, первый, индекс, который для FK ?

Попытка сбацать в лоб завершилась шваброй (тоже в лоб :))
Код: plaintext
1.
2.
3.
4.
5.
recreate table td(id int primary key using index t_id_pk, pid int, qid int, sid int);
recreate table tm(id int primary key using index t_id_fk);
create index td_pid_qid_sid on td(pid, qid, sid);
alter table td add constraint td_fk foreign key (pid) references tm(id) using index td_pid_qid_sid;
commit;
Код: plaintext
Index TD_PID_QID_SID already exists.
Гугление показало, что это, оказывается, http://sourceforge.net/p/firebird/mailman/firebird-devel/thread/427289B7.5080902@ibphoenix.com/]давний баян . Причем, Главный Источник света вроде как был непротив реализации этой идеи:
Firebird-devel RFE: Allow control over constraint indices
> Eyal:
> 2. For all types of constraints - allow using an existing index (after
> verifying it's appropriate for the job). There is already an existing
> syntax to support it.

dimitr:
Doable.

> Eyal:
> Starting with v1.5 constraint definitions can contain a USING clause to
> specify a name for the soon to be created index (see v1.5 Release Notes
> page 8). This exact same syntax can be used to also accept the name of
> an existing index.

dimitr:
Agreed.
Вопрос, соб-сно, простой: насколько реализуемо сиё в 3.х ?
...
Рейтинг: 0 / 0
Хотелка: alter table <detail> add constraint <FK> ... using <EXISTSING_detail_table_index>
    #38709737
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

простой ответ - нинасколько. Новых фич в ФБ3 больше не будет.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Хотелка: alter table <detail> add constraint <FK> ... using <EXISTSING_detail_table_index>
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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