在 oracle 10g 中创建此表
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/8009719/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Creating this table in oracle 10g
提问by Rosco
This table is not creating in oracle 10g and I dont know why, the code is
这个表不是在 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
);
the Error message i get is
我得到的错误信息是
ORA-00907: missing right parenthesis
Any help would be greatly appreciated
任何帮助将不胜感激
Thanks
谢谢
回答by Max
skept ',' after FOREIGN KEY (MANAGER) REFERENCES SHIFT_MNG (MANAGER) ENABLE
怀疑 ',' 之后 FOREIGN KEY (MANAGER) REFERENCES SHIFT_MNG (MANAGER) ENABLE
回答by derobert
You're missing a comma:
你少了一个逗号:
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
);
回答by Ghostman
You are missing a comma
你少了一个逗号
Oracle docs note this about ORA-00907:
Oracle 文档注意到有关 ORA-00907 的这一点:
ORA-00907 missing right parenthesis
ORA-00907 缺少右括号
Cause: A left parenthesis has been entered without a closing right parenthesis, or extra information was contained in the parentheses. All parentheses must be entered in pairs.
原因:输入的左括号没有右括号,或者括号中包含额外信息。所有括号必须成对输入。
Action: Correct the syntax and retry the statement.
行动:更正语法并重试该语句。
Oracle offers information regarding ORA-00907 in conjunction with FULL/LEFT OUTER joins in association with Bug 4433936. This bug causing an ORA-00907 has been fixed in 10.2.0.3 and future versions of 11g, it can still be seen in 9.2.0.5, 9.2.0.7, 9.2.0.8, 10.1.0.5, and 10.2.0.2 in most generic platforms.
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 在大多数通用平台中。
The symptoms of ORA-00907 and Bug 4433936 are simple syntax errors which happen within parsing queries associated with FULL/LEFT OUTER joins. You can work around ORA-00907 by trying Oracle join operators to rewrite queries, as opposed to ANSI joins.
ORA-00907 和错误 4433936 的症状是在解析与 FULL/LEFT OUTER 连接关联的查询中发生的简单语法错误。与 ANSI 连接相反,您可以通过尝试 Oracle 连接运算符重写查询来解决 ORA-00907。
回答by BipiN PaRMaR
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
);
回答by khokon das
Try this
尝试这个
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
);