错误报告-ORA-02253:此处不允许约束说明

时间:2019-03-20 02:02:59

标签: sql oracle

我想在下表中创建此表格,但是我收到了我不明白为什么的错误,有人可以解释吗?

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 :(得分:0)

您拼错了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)
);

通常,我会投票关闭此错误,以解决印刷错误。但是,该错误消息是如此令人误解,似乎值得回答。