这个表不是在oracle 10g中创建的,我不知道为什么,代码是
CREATE TABLE "shift"
(
SHIFT_DATE DATE,
OPERATOR1 VARCHAR2(30),
ENGINEER VARCHAR2(30),
ENGINEER2 VARCHAR2(30),
MANAGER VARCHAR2(30),
SHIFT VARCHAR2(5),
PRIMARY KEY (SHIFT_DATE) ENABLE,
FOREIGN KEY (MANAGER)
REFERENCES SHIFT_MNG (MANAGER) ENABLE
FOREIGN KEY (SHIFT)
REFERENCES SHIFT_TYPE (SHIFT) ENABLE
);
我得到的错误信息是
ORA-00907: missing right parenthesis
非常感谢任何帮助
由于
答案 0 :(得分:1)
在FOREIGN KEY (MANAGER) REFERENCES SHIFT_MNG (MANAGER) ENABLE
答案 1 :(得分:0)
你错过了一个逗号:
CREATE TABLE "shift" (
SHIFT_DATE DATE
, OPERATOR1 VARCHAR2 ( 30 )
, ENGINEER VARCHAR2 ( 30 )
, ENGINEER2 VARCHAR2 ( 30 )
, MANAGER VARCHAR2 ( 30 )
, SHIFT VARCHAR2 ( 5 )
, PRIMARY KEY ( SHIFT_DATE ) ENABLE
, FOREIGN KEY ( MANAGER ) REFERENCES SHIFT_MNG ( MANAGER ) ENABLE
, FOREIGN KEY ( SHIFT ) REFERENCES SHIFT_TYPE ( SHIFT ) ENABLE
^
^-----------this one
);
答案 2 :(得分:0)
您缺少逗号
Oracle文档注意到有关ORA-00907:
的信息ORA-00907缺少右括号
原因:输入的左括号没有右括号,或者括号中包含额外信息。所有括号必须成对输入。
操作:更正语法并重试该语句。
Oracle提供有关ORA-00907以及与错误4433936相关联的FULL / LEFT OUTER连接的信息。导致ORA-00907的错误已在10.2.0.3和未来版本的11g中得到修复,它仍然可以在在大多数通用平台中,9.2.0.5,9.2.0.7,9.2.0.8,10.1.0.5和10.2.0.2。
ORA-00907和错误4433936的症状是在与FULL / LEFT OUTER连接相关联的解析查询中发生的简单语法错误。您可以通过尝试Oracle连接运算符来重写查询来解决ORA-00907,而不是ANSI连接。
答案 3 :(得分:0)
CREATE TABLE shift
(
SHIFT_DATE DATE,
OPERATOR1 VARCHAR2(30),
ENGINEER VARCHAR2(30),
ENGINEER2 VARCHAR2(30),
MANAGER VARCHAR2(30),
SHIFT VARCHAR2(5),
PRIMARY KEY (SHIFT_DATE) ENABLE,
FOREIGN KEY (MANAGER)
REFERENCES SHIFT_MNG (MANAGER) ENABLE
FOREIGN KEY (SHIFT)
REFERENCES SHIFT_TYPE (SHIFT) ENABLE
);
答案 4 :(得分:-1)
试试这个
CREATE TABLE "shift"
(
SHIFT_DATE DATE,
OPERATOR1 VARCHAR2(30),
ENGINEER VARCHAR2(30),
ENGINEER2 VARCHAR2(30),
MANAGER VARCHAR2(30),
SHIFT VARCHAR2(5),
PRIMARY KEY (SHIFT_DATE) ENABLE,
FOREIGN KEY (MANAGER) REFERENCES SHIFT_MNG (MANAGER) ENABLE,
FOREIGN KEY (SHIFT) REFERENCES SHIFT_TYPE (SHIFT) ENABLE
);