Oracle Live SQL:ORA-00907:缺少右括号 -

Posted

技术标签:

【中文标题】Oracle Live SQL:ORA-00907:缺少右括号 -【英文标题】:Oracle Live SQL : ORA-00907: missing right parenthesis - 【发布时间】:2020-11-14 22:54:35 【问题描述】:

我看到许多其他人提出了与同一问题相关的问题,但没有一个答案能解决我遇到的问题。

我在 Oracle Live SQL 上运行以下代码并收到错误

ORA-00907:缺少右括号

create table CUST_ORDER (
    ord_id NUMBER(38) CONSTRAINT cusordtb_ordid_pk PRIMARY KEY,
    cust_id NUMBER(38) NOT NULL,
    order_date DATE(12) NOT NULL
);

我很确定我没有遗漏任何括号。有人有解决办法吗?

【问题讨论】:

DATE(12) 是有效的 Oracle 数据类型吗? 基本调试:一次拿走一部分,直到错误消失。如果您尝试在没有最后一列的情况下运行它,它会运行良好,表明错误在该行中。 【参考方案1】:

Oracle date 数据类型不需要长度。

考虑:

create table CUST_ORDER (
    ord_id NUMBER(38) CONSTRAINT cusordtb_ordid_pk PRIMARY KEY,
    cust_id NUMBER(38) NOT NULL,
    order_date DATE NOT NULL
);

【讨论】:

【参考方案2】:

日期没有长度。所以你不需要指定相同的

【讨论】:

就像 GMB 也提到的那样,是的,这可以解决问题。谢谢!

以上是关于Oracle Live SQL:ORA-00907:缺少右括号 -的主要内容,如果未能解决你的问题,请参考以下文章

在 oracle SQL 中使用 insrt 函数遇到“ORA-00907:缺少右括号”

Oracle SQL ORA-00907: CASE 语句中缺少右括号错误

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

我在 Oracle Apex ORA-00907 上遇到错误:缺少右括号

[转]ORA-00907: 缺失右括号

ORA-00907: 缺失右括号问题整理解决