sql ошибка разработчика ORA-00906: отсутствует левая скобка - PullRequest
0 голосов
/ 15 апреля 2020
CREATE TABLE Representatives(

ID NUMBER(4) NOT NULL PRIMARY KEY,

State CHAR(2) NOT NULL,

District NUMBER NOT NULL CHECK(District>=1 AND District<=30),

Party VARCHAR2(30),

LastName VARCHAR2(20),

Firstname VARCHAR2(20),

StartOfTerm DATE,

EndOfTerm DATE,

SenRank VARCHAR2 CHECK(senRank IN ('junior', 'senior')),

Gender CHAR(1) CHECK(Gender IN ('M', 'F')),

Birthdate DATE,

FOREIGN KEY(State) REFERENCES States(State),

FOREIGN KEY(Party) REFERENCES Parties(Party)

);

Сообщение об ошибке - ORA-00906: отсутствует левая скобка 00906. 00000 - «отсутствует левая скобка» * Причина:
* Действие:

Не удается найти ошибка может кто-то, пожалуйста, укажите мне правильное направление

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020

SenRank VARCHAR2 CHECK (senRank IN («младший», «старший»)),

Вы забыли упомянуть длину типа данных VARCHAR2 в столбце SenRank , Добавьте подходящую длину, и она должна прекрасно работать:

SenRank VARCHAR2(25) CHECK(senRank IN ('junior', 'senior'))
0 голосов
/ 15 апреля 2020

Я думаю, что проблема в отсутствующей длине varchar2():

CREATE TABLE Representatives (
    ID NUMBER(4) NOT NULL PRIMARY KEY,
    State CHAR(2) NOT NULL,
    District NUMBER NOT NULL CHECK(District>=1 AND District<=30),
    Party VARCHAR2(30),
    LastName VARCHAR2(20),
    Firstname VARCHAR2(20),
    StartOfTerm DATE,
    EndOfTerm DATE,
    SenRank VARCHAR2(255) CHECK (senRank IN ('junior', 'senior')),
    -----------------^
    Gender CHAR(1) CHECK (Gender IN ('M', 'F')),
    Birthdate DATE,
    FOREIGN KEY (State) REFERENCES States(State),
    FOREIGN KEY (Party) REFERENCES Parties(Party)
);

Здесь - это скрипта db <> без деклараций внешнего ключа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...