错误缺少右括号Oracle DB表创建失败

时间:2018-06-19 17:44:42

标签: sql oracle oracle11g

这是我第一次使用oracle db。我一直在尝试创建我的第一个表,由于某种原因,我遇到一个错误,提示我缺少括号。我已经检查以确保我没有遗漏括号,并且我的陈述显然存在其他问题。

 CREATE TABLE hr.Mitch_Employee_Motors (
 empid INT(4) PRIMARY KEY, 
 empname VARCHAR2(10),
 empaddress VARCHAR2(10),
 empsalary NUMBER(8,2), 
 deptno NUMBER(4,0));

我在做什么错?根据我在网上找到的所有资源,这似乎是正确的。

3 个答案:

答案 0 :(得分:2)

INTEGER(4)是无效的数据类型。这可能就是您想要的:

CREATE TABLE hr.Mitch_Employee_Motors (
empid NUMBER(4) PRIMARY KEY, 
empname VARCHAR2(10),
empaddress VARCHAR2(10),
empsalary NUMBER(8,2), 
deptno NUMBER(4,0));

答案 1 :(得分:1)

这只是INT,请删除(4)以避免错误。

INT没有长度/精度/比例,它是一个设置范围。

值得注意的是,Oracle中的INT不是真正的INT,它实际上映射到NUMBER(38,0)。因此,也许您想使用NUMBER(4)。 (信用至Mathguy)

https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements001.htm#SQLRF0021

答案 2 :(得分:0)

CREATE TABLE Mitch_Employee_Motors (
 empid INTeger PRIMARY KEY, 
 empname VARCHAR2(10),
 empaddress VARCHAR2(10),
 empsalary NUMBER(8,2), 
 deptno NUMBER(4,0));