ошибка sqlplus при создании таблицы с несколькими внешними ключами

#database #oracle #sqlplus

#База данных #Oracle #sqlplus

Вопрос:

Итак, я пытаюсь создать таблицу с несколькими внешними ключами, однако она продолжает указывать отсутствующий или недопустимый параметр. Я успешно создал все остальные таблицы, на которые ссылаются ключи, без проблем. Странно то, что я обнаружил, что таблица создается, если я удаляю любой внешний ключ, но как только у меня есть два внешних ключа, это выдает мне ошибку выше. Любая помощь приветствуется! 🙂

 create table Class(
Class#  int(5),
Class_Size int(30),
Module# char(5),
Student#    char(4),
Constraint Class_PK primary key(Class#),
Constraint Class_Module_FK foreign key(Module#) references Modules(Module#) on delete cascade ),
Constraint Class_Student_FK foreign key(Student#) references Students(Student#) on delete cascade );
 

Комментарии:

1. У вас нет столбца Student# в таблице Class (по уважительной причине), поэтому вы не можете использовать его в определении FK on Class .

Ответ №1:

Похоже, у вас есть лишнее ) в конце предпоследней строки.

Это должно сработать

 create table Class(
Class#  int(5),
Class_Size int(30),
Module# char(5),
Student#    char(4),
Constraint Class_PK primary key(Class#),
Constraint Class_Module_FK foreign key(Module#) references Modules(Module#) on delete cascade,
Constraint Class_Student_FK foreign key(Student#) references Students(Student#) on delete cascade );
 

Комментарии:

1. Большое спасибо! это сводило меня с ума