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:缺少右括号