【问题标题】:ERROR at line 13: ORA-00907: missing right parenthesis第 13 行的错误:ORA-00907:缺少右括号
【发布时间】:2017-11-19 22:56:00
【问题描述】:

我有以下 SQL 代码:

CREATE TABLE staff(
SID NUMBER(20) PRIMARY KEY,
STAFF_NAME VARCHAR2(50) NOT NULL,
DESIGNATION VARCHAR2(30) DEFAULT 'ASSISTANT PROFESSOR',
GENDER CHAR NOT NULL,
DOB DATE,
DOJ DATE DEFAULT SYSDATE,
SALARY NUMBER(7,2),
MOBILE NUMBER(10) NOT NULL,
EMAIL VARCHAR2(20),
PRESENT_ADDRESS VARCHAR2(70),
EXPERIENCE NUMBER(1,1),
DEPT_ID VARCHAR2(2) FOREIGN KEY REFERENCES DEPT(DEPT_ID)
)
/

但是我得到了这个输出:

DEPT_ID VARCHAR2(2) 外键引用 DEPT(DEPT_ID) * 第 13 行的错误: ORA-00907: 缺少右括号

导致问题的原因是什么?

【问题讨论】:

  • 如果它对您有用,请不要忘记接受答案。

标签: sql oracle


【解决方案1】:

难道不是:

CREATE TABLE staff (
    SID NUMBER(20) PRIMARY KEY
    ,STAFF_NAME VARCHAR2(50) NOT NULL
    ,DESIGNATION VARCHAR2(30) DEFAULT 'ASSISTANT PROFESSOR'
    ,GENDER CHAR NOT NULL
    ,DOB DATE
    ,DOJ DATE DEFAULT SYSDATE
    ,SALARY NUMBER(7, 2)
    ,MOBILE NUMBER(10) NOT NULL
    ,EMAIL VARCHAR2(20)
    ,PRESENT_ADDRESS VARCHAR2(70)
    ,EXPERIENCE NUMBER(1, 1)
    ,DEPT_ID VARCHAR2(2)
    ,FOREIGN KEY (DEPT_ID) REFERENCES DEPT(DEPT_ID)
    )

在 [外键] 和 [参考] 之间查看

【讨论】:

  • 100%。由于没有安装 Oracle,两者都发布了 - 所以我无法检查语法 - 使用 Notepad++ 。顶级程序员的朋友之一。不要忘记标记已接受。
  • 谢谢@miracle173。已更新。
猜你喜欢
  • 2016-10-23
  • 2015-03-31
  • 1970-01-01
  • 2013-05-12
  • 2014-03-25
  • 1970-01-01
  • 1970-01-01
  • 2018-05-22
相关资源
最近更新 更多