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

使用Oracle SQL建表遇ORA-00907错误:未缺右括号却报错

ORA-00907: 缺失右括号错误排查与解决

你的问题出在Oracle SQL对INT类型的语法要求上——Oracle里的INT是NUMBER(38)的别名,不允许在INT后面加括号指定长度(比如你写的INT(4)、INT(2)),这种写法会让SQL解析器误判,从而抛出看似是缺失右括号的错误。

修正后的建表语句如下:

CREATE TABLE PET 
(
    Pet_ID INT PRIMARY KEY, 
    Owner_First CHAR(15) NOT NULL, 
    Owner_Last CHAR(15) NOT NULL, 
    Pet_Name CHAR(15) NOT NULL, 
    Breed CHAR(15),
    Weight DECIMAL(5,2),
    Age INT
);

如果需要限制Pet_ID和Age的数值位数,也可以用Oracle标准的NUMBER类型来定义,比如:

CREATE TABLE PET 
(
    Pet_ID NUMBER(4) PRIMARY KEY, 
    Owner_First CHAR(15) NOT NULL, 
    Owner_Last CHAR(15) NOT NULL, 
    Pet_Name CHAR(15) NOT NULL, 
    Breed CHAR(15),
    Weight DECIMAL(5,2),
    Age NUMBER(2)
);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 04:12:39