TOAD 8.6.1: интересные сообщения при задании ограничения Foreign Key.

GrayCity
Дата: 28.05.2006 17:14:30
hi all.

Что-то не совсем понятна терминология "Жабы" (8.6.1) на предмет родительских/дочерних таблиц при создании ограничения "Foreign Key".

Создаю родительскую таблицу с первичным ключем:
CREATE TABLE TPARENT( ID NUMBER, NAME VARCHAR2(20));
ALTER TABLE TPARENT ADD (CONSTRAINT TPARENT_1PK PRIMARY KEY (ID));

Затем создаю дочернюю таблицу:
CREATE TABLE TCHILD(ID NUMBER, PARENT_ID NUMBER, CHILD_NAME VARCHAR2(30) )

Дальше делаю для этой (ДОЧЕРНЕЙ) таблицы ADD CONSTRAINT, чтобы добавить ограничение внешнего ключа. В окне "Create Constraint" задаю имя ограничения, во вкладке "This Table" указываю поле, ссылающееся на родительскую таблицу -- поле PARENT_ID (оно переносится в правое окно и становится "выбранным").

Специально "забываю" перейти во вкладку "Referenced Table" и нажимаю кнопку "Execute". TOAD выводит сообщение "You must select at least one column from the CHILD table". Но позвольте! В данном случае Referenced Table -- это TPARENT, т.е. РОДИТЕЛЬСКАЯ таблица.

Если же перейти во вкладку "Ref. table" и там указать TPARENT и её поле первичного ключа (ID), но "забыть" указать поле в текущей (дочерней) таблице TCHILD, то сообщение будет таким: "You must select at least one column from the PARENT table".

ВОПРОС: это у меня в голове каша или Жаба не очень разборчива в своих сообщениях ?

Иллюстрация прилагается.
dr_dizel
Дата: 28.05.2006 21:12:00
Там есть ещё такая штука, как "Show SQL", которая показывает, что же будет выполняться.
GrayCity
Дата: 29.05.2006 00:24:42
Выполняется-то всё нормально. Внешний ключ создаётся как надо: от ДОЧЕРНЕЙ таблицы к родительской. Только сообщения эти (см выше) какие-то "зеркально-перепутанные". Имхо.