Отчет об ошибке - ORA-02253: спецификация ограничения здесь не разрешена - PullRequest
0 голосов
/ 20 марта 2019

Я хочу создать приведенную ниже таблицу, но я получаю сообщение об ошибке. Я не понимаю, почему, может кто-то объяснить?

CREATE TABLE STUD (
    RNO NUMBER(3) CONSTRAINT PK_RNO_STUD PRIMAY KEY,
    SNAME VARCHAR2(15) CONSTRAINT NN_SNAME_STUD NOT NULL,
    COURSE VARCHAR2(10) CONSTRAINT NN_COURSE_STUD NOT NULL,
    FEE NUMBER(5) CONSTRAINT NN_FEE_STUD NOT NULL,
    MOBILE NUMBER(10) CONSTRAINT UK_MOBIE_STUD UNIQUE,
    CONSTRAINT CK_RNO_STUD CHECK(RNO BETWEEN 1 AND 60),
    CONSTRAINT CK_COURSE_STUD CHECK(COURSE IN('ORACLE','SQL SERVER','UNIX')),
    CONSTRAINT CK_FEE_STUD CHECK(FEE BETWEEN 5000 AND 10000)
);

Отчет об ошибке - ORA-02253: спецификация ограничения отсутствуетздесь разрешено 02253. 00000 - «спецификация ограничения здесь не разрешена» * Причина: спецификация ограничения здесь не допускается.* Действие: Удалить спецификацию ограничения из оператора.

1 Ответ

0 голосов
/ 20 марта 2019

Вы ошиблись PRIMARY KEY:

CREATE TABLE STUD (
    RNO NUMBER(3) CONSTRAINT PK_RNO_STUD PRIMARY KEY,
    SNAME VARCHAR2(15) CONSTRAINT NN_SNAME_STUD NOT NULL,
    COURSE VARCHAR2(10) CONSTRAINT NN_COURSE_STUD NOT NULL,
    FEE NUMBER(5) CONSTRAINT NN_FEE_STUD NOT NULL,
    MOBILE NUMBER(10) CONSTRAINT UK_MOBIE_STUD UNIQUE,
    CONSTRAINT CK_RNO_STUD CHECK(RNO BETWEEN 1 AND 60),
    CONSTRAINT CK_COURSE_STUD CHECK(COURSE IN('ORACLE','SQL SERVER','UNIX')),
    CONSTRAINT CK_FEE_STUD CHECK(FEE BETWEEN 5000 AND 10000)
);

Обычно я бы проголосовал, чтобы закрыть это как опечатку.Однако сообщение об ошибке настолько вводит в заблуждение, что, кажется, стоит ответить.

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