'无效的数据类型#39;尝试使用DATETIME创建表时。 - 顶尖

时间:2014-05-17 20:14:55

标签: oracle-apex

我是Apex的新手,我正在尝试在“SQL工作坊”中创建一个表格'使用DATETIME作为类型,但它说这是一个无效的数据类型,这是我的代码:

CREATE TABLE Incidente(
NumReporte  INTEGER NOT NULL,
    Fecha DATETIME NOT NULL,
    Tipo CHAR(20) NOT NULL,
    Lugar CHAR(40) NOT NULL,
    Comentarios CHAR(100),
    MatriculaRep VARCHAR(9)NOT NULL,
    PRIMARY KEY(NumReporte),
    FOREIGN KEY(MatriculaRep) REFERENCES Persona(Matricula)

1 个答案:

答案 0 :(得分:2)

首先,datetime不是Oracle中的数据类型。 date包含第二个的日期和时间组件。 timestamp增加了存储小数秒的功能。 timestamp with time zone也允许您存储时区。

其次,您不想声明列char(20)char(40)char(100)。当几乎可以肯定你没有为每一行提供那么多数据时,强迫Oracle在每行的comentarios列中存储100个字节的评论数据是没有意义的。使用varchar2不会受到任何惩罚,因此您基本上总是希望使用varchar2。有些人会建议完全放弃char。当基础数据确实是固定宽度时(即单个字符标志列,两个字符的状态代码等),其他人将允许短char列。