You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建Sales_Order表触发ORA-00906缺失左括号错误如何解决

ORA-00906报错原因与修复方案

错误原因

本次报错由三处语法问题共同导致:

  • 外键约束语法不完整:定义外键时必须明确指定当前表中作为外键的列,原有代码中foreign key references Cust_Master(clientno)缺少关联列声明,不符合Oracle语法规范。
  • 字段约束顺序错误:delytype字段的DEFAULT约束必须放在CHECK约束之前,Oracle不支持DEFAULT写在CHECK之后的语法结构。
  • 括号不匹配:orderstatus字段的CHECK约束缺少闭合右括号,导致整个建表语句的括号结构断裂。

修复后完整SQL代码

create table Sales_Order
(
    orderno varchar2(6) primary key check(orderno like 'O%'),
    clientno varchar(6),
    foreign key (clientno) references Cust_Master(clientno),
    orderdate date not null,
    delytype char(1) default 'F' check(delytype in ('P','F')),
    billyn char(1),
    payment_mode varchar2(15)
    check(payment_mode in ('COD', 'Net Banking', 'Credit Card', 'Debit Card')),
    delydate date,
    orderstatus varchar2(10) 
    check(orderstatus in ('In Process', 'Fulfilled', 'BackOrder', 'Cancelled'))
);

注意:执行前需确认关联的Cust_Master表已存在,且Cust_Master.clientno字段的类型、长度与当前表clientno字段完全匹配。

内容的提问来源于stack exchange,提问作者Siddarth Sanjay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 04:15:00