正如我试图创建ShortInteger无效的数据类型SQL开发
CREATE TABLE CARTECREDIT
(
forfaitID INTEGER,
nomForfait VARCHAR(13) NOT NULL ,
cout NUMBER(10,4),
locationMax SHORTINTEGER NOT NULL,
dureeMax SHORTINTEGER NOT NULL,
PRIMARY KEY (forfaitID)
);
我面对此错误消息
错误报告此表在SQL Developer中 -
ORA-00902:无效数据类型
00902. 00000 - “无效数据类型”
*原因:
*行动:
看来,SQL开发人员不能识别SHORTINTEGER
因为他们没有在蓝色
突出,但根据文档Oracle Documentation的SHORTINTEGER
是一个真正的数据类型
我做了什么错?
只是在Oracle中使用INTEGER,SMALLINT等的快速评论。人们会认为对于数据类型INTEGER,Oracle将使用整数算术的硬件实现。 **它不**。无论您声明哪种数据类型,Oracle都将使用库函数进行所有算术运算,因此使用INTEGER实际上效率不高,因为它需要转换为NUMBER,然后转换回INTEGER。这种安排离最佳状态还有很远的距离(甲骨文的想法是什么?),但这正是我们所处的位置。使用'NUMBER(...,0)'并检查约束条件是否要强制数据为整数。 – mathguy