创建表并收到错误,因为 ora 00907 缺少右括号
Posted
技术标签:
【中文标题】创建表并收到错误,因为 ora 00907 缺少右括号【英文标题】:Creating a table and getting error as ora 00907 missing right parenthesis 【发布时间】:2017-08-19 20:27:46 【问题描述】:我正在尝试创建一个表并收到错误,因为 ora 00907 缺少右括号。出了什么问题?
这是我的查询:
CREATE TABLE College (
ID int,
NAME varchar(255),
Branch var char(255) NOT NULL,
Percentage int,
Address varchar,
City varchar(255),
PRIMARY KEY (ID)
);
【问题讨论】:
检查Branch
列的类型
您可以在subject 上查看答案,它可能会对您有所帮助。
var char、varchar 和syntax 走进了一个吧。他们没多久就离开了。只剩下一个空间。
两个错误:(1)Branch
之后的var char
应该是varchar
。 (2) 您必须为Address
提供尺寸(目前varchar
没有尺寸)。
【参考方案1】:
您有多个错误。大概,你想要这样的东西:
CREATE TABLE Colleges (
CollegeID int PRIMARY KEY,
Name varchar2(255),
Branch varchar2(255) NOT NULL,
Percentage int,
Address varchar2(255),
City varchar2(255)
);
注意事项:
您的语法问题是var char
中的空格。
Oracle 推荐 varchar2()
而不是 varchar
。
您应该始终在定义中包含一个长度。
您可以内联主键定义。
我更喜欢主键包含实体名称,而不是通用的id
。
同样,我更喜欢表格是复数形式,因为它包含多个学院。
名为 percentage
且类型为 int
的列是可疑的。
【讨论】:
以上是关于创建表并收到错误,因为 ora 00907 缺少右括号的主要内容,如果未能解决你的问题,请参考以下文章
SQL 错误:ORA-00907:缺少右括号 00907。00000 -“缺少右括号”