ORACLE SQL - 表创建时的数据类型无效

时间:2016-04-10 18:53:56

标签: sql oracle sqldatatypes

我正在尝试在ORACLE数据库中设置一个表,并在尝试运行此命令时收到invalid data type错误:

CREATE TABLE Students (
StudentID NUMBER(8) NOT NULL,
FirstName VARCHAR(25) NOT NULL,
Surname VARCHAR(25) NOT NULL,
Address VARCHAR(100) NOT NULL,
Postcode VARCHAR(7) NOT NULL,
DoB DATE NOT NULL,
Gender VARCHAR(1) NOT NULL,
StudentCategory VARCHAR(50),
StudyType VARCHAR(20),
Nationality VARCHAR(20),
SmokerStatus BOOLEAN,
SpecialNeeds VARCHAR(30),
Comments VARCHAR(30),
PlacedStatus BOOLEAN,
CourseID NUMBER(6) NOT NULL,
AdvisorOfStudies NUMBER(6) NOT NULL,
NextOfKin NUMBER(8) NOT NULL
);

根据错误消息,在第1行和第39行开始发生了一些事情。这意味着在实际的create语句本身,而不是任何数据字典。我不明白这会导致invalid data type错误。

如果有人能够发现可能导致这种情况的原因,那将非常感激!

错误详情:

错误报告 - SQL错误:ORA-00902:数据类型无效 00902. 00000 - "无效的数据类型" *原因:
*操作:

谢谢, 标记

1 个答案:

答案 0 :(得分:5)

将SmokerStatus从BOOLEAN更改为char(1)。 Oracle没有boolean data type。为此,您需要使用char(1)或数字(1)。

SmokerStatus char(1),