在 oracle 10g 中出现错误 .. 错误:- ORA-00907:缺少右括号

Posted

技术标签:

【中文标题】在 oracle 10g 中出现错误 .. 错误:- ORA-00907:缺少右括号【英文标题】:Getting an error in oracle 10g.. error:- ORA-00907: missing right parenthesis 【发布时间】:2014-02-04 19:22:11 【问题描述】:

我对 SQL 很陌生,只是在为我的董事会考试做一些练习。 我在 oracle 10g 中写了一个命令,但得到以下错误:-

ORA-00907:缺少右括号

这是我的 SQL 语句

CREATE TABLE first_table
(name char(50) NOT NULL,
class_roll int(2) NOT NULL UNIQUE,
board_roll int(8) NOT NULL PRIMARY KEY,
your_age int(2) DEFAULT=17 CHECK(age>17),
father_age int(2),
CHECK(your_age<father_age));

【问题讨论】:

DEFAULT=17 应该是 DEFAULT 17。 docs.oracle.com/cd/E11882_01/server.112/e26088/… father_age int(2)后面还有一个逗号 去掉逗号和=符号后出现同样的错误... 【参考方案1】:

当您声明一个 int 列时,您没有定义长度。您可以使用 number(2),但不能使用 int(2)。 此外,您的列检查约束不能引用另一列。修复建议:

CREATE TABLE first_table
(name char(50) NOT NULL,
class_roll number(2) NOT NULL UNIQUE,
board_roll number(8) NOT NULL PRIMARY KEY,
your_age number(2) DEFAULT 17 CHECK(your_age >17),
father_age int);

【讨论】:

检查约束确实可以从同一个表中引用任意数量的列。 对不起,这是我在修复其他问题后尝试创建表时遇到的错误。

以上是关于在 oracle 10g 中出现错误 .. 错误:- ORA-00907:缺少右括号的主要内容,如果未能解决你的问题,请参考以下文章

创建带有外键的表会出现错误 ORA-00904: : oracle 10g 中的无效标识符 [重复]

安装oracle 10g后用PLSQL Developer成功连接服务,防止中间出现错误的流程

win7在安装oracle 10g和oracle 11g时都会出现如下错误,请教高手们指导。

Oracle 安装时错误

当导入到 oracle 10g 得到错误 6550

如何在 CLOB 字段(Oracle 10g)中快速替换出现极高的相同字符?