Создание таблиц и просмотр этой ошибки - ORA-00907: отсутствует правая скобка - PullRequest
0 голосов
/ 23 марта 2020
CREATE TABLE Office(
       Office_ID INT NOT NULL GENERATED BY DEFAULT AS IDENTITY,
       Phone_Number CHAR(11) NOT NULL,
            CONSTRAINT Office_PK PRIMARY KEY (Office_ID));
CREATE TABLE Faculty(
       Faculty_ID INT NOT NULL GENERATED BY DEFAULT AS IDENTITY,
       First_Name VARCHAR(25) NOT NULL,
       Last_Name VARCHAR (25) NOT NULL,
       Office_ID INT NOT NULL,
            CONSTRAINT Faculty_PK PRIMARY KEY (Faculty_ID) 
            CONSTRAINT Faculty_FK FOREIGN KEY (Office_ID) REFERENCES Office(Office_ID));
CREATE TABLE Student(
       Student_ID INT NOT NULL GENERATED BY DEFAULT AS IDENTITY,
       First_Name VARCHAR(25) NOT NULL,
       Last_Name VARCHAR(25) NOT NULL,
       Phone_Number CHAR(11) NOT NULL,
       Sposue_Name VARCHAR (30),
       Street_Address VARCHAR(30) NOT NULL,
       City VARCHAR(20) NOT NULL,
       State CHAR(2) NOT NULL,
       Zip VARCHAR(9) NOT NULL,
       Advisor_ID INT NOT NULL,
            CONSTRAINT Student_PK PRIMARY KEY (Student_ID) 
            CONSTRAINT Student_FK FOREIGN KEY (Advisor_ID) REFERENCES Faculty(Faculty_ID));

Может кто-нибудь помочь мне понять, что мне не хватает? Я не понимаю, откуда исходит ошибка.

1 Ответ

1 голос
/ 23 марта 2020

Это, например, не

Office_ID INT NOT NULL GENERATED BY DEFAULT AS IDENTITY,

, а

Office_ID INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,

(not null идет последним).


Кроме того, вы пропускаете запятую в конец CONSTRAINT операторов в последних двух таблицах.

Как только вы это исправите, все будет в порядке.

SQL> CREATE TABLE Office(
  2         Office_ID INT GENERATED BY DEFAULT AS IDENTITY NOT NULL ,
  3         Phone_Number CHAR(11) NOT NULL,
  4              CONSTRAINT Office_PK PRIMARY KEY (Office_ID));

Table created.

SQL> CREATE TABLE Faculty(
  2         Faculty_ID INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
  3         First_Name VARCHAR(25) NOT NULL,
  4         Last_Name VARCHAR (25) NOT NULL,
  5         Office_ID INT NOT NULL,
  6              CONSTRAINT Faculty_PK PRIMARY KEY (Faculty_ID),  --> missing comma
  7              CONSTRAINT Faculty_FK FOREIGN KEY (Office_ID) REFERENCES Office(Office_ID));

Table created.

SQL> CREATE TABLE Student(
  2         Student_ID INT GENERATED BY DEFAULT AS IDENTITY NOT NULL ,
  3         First_Name VARCHAR(25) NOT NULL,
  4         Last_Name VARCHAR(25) NOT NULL,
  5         Phone_Number CHAR(11) NOT NULL,
  6         Sposue_Name VARCHAR (30),
  7         Street_Address VARCHAR(30) NOT NULL,
  8         City VARCHAR(20) NOT NULL,
  9         State CHAR(2) NOT NULL,
 10         Zip VARCHAR(9) NOT NULL,
 11         Advisor_ID INT NOT NULL,
 12              CONSTRAINT Student_PK PRIMARY KEY (Student_ID),   --> missing comma
 13              CONSTRAINT Student_FK FOREIGN KEY (Advisor_ID) REFERENCES Faculty(Faculty_ID));

Table created.

SQL>
...