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".
ВОПРОС: это у меня в голове каша или Жаба не очень разборчива в своих сообщениях ?
Иллюстрация прилагается.