oracle数据库创建表时,int型数据为何报错

如题所述

第1个回答  推荐于2016-11-17
oracle数据库中是有int型的,你在创建表的时候,使用int型报错,
可能的原因是你为int型增加了精度,如int(10),或者是你的oracle
版本过低造成的。
在oracle中int型与integer型都是number类型的子类型,int是integer
的简写,相当于number(38),是为了兼容ANSI/ISO和IBM的数据类型
而定义的。它的存储精度是38位。
在创表时,最好不要用int型,因为我们基本上不会用到38位的整数,
用int会浪费存储空间。int型列可以定义为number(数字)。
第2个回答  推荐于2018-03-13
INT类型是NUMBER类型的子类型。
下面简要说明:
(1)NUMBER(P,S)
该数据类型用于定义数字类型的数据,其中P表示数字的总位数(最大字节个数),而S则表示小数点后面的位数。假设定义SAL列为NUMBER(6,2)则整数最大位数为4位(6-2=4),而小数最大位数为2位。
(2)INT类型
当定义整数类型时,可以直接使用NUMBER的子类型INT,顾名思义:INT用于整型数据。

所以你这个sla int not null就行了,不用指定大小追问

改为char类型就好了,为什么int就不行

追答

int是可以的,你别用int(20),就写int就行了

本回答被网友采纳
第3个回答  2014-05-05
建议直接用number就可以,int不能指定长度。
int只能存取整数,等同于number(38,0)
第4个回答  推荐于2018-02-14
oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集。
int类型只能存储整数;
number可以存储浮点数,也可以存储整数;
number(8,1)存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全;
number(8)存储总长度为8的整数;
int相当于number(22),存储总长度为22的整数。
所以如果使用INT,不要指定长度。要指定长度,请使用NUMBER(P,S)
另外,NUMBER 如果precision和scale没有指定,即相当于 NUMBER (38,7)。本回答被网友采纳
第5个回答  2014-05-05
都是number类型的吧,你的int型,还可以为20个字节- -

oracle数据库创建表时,int型数据为何报错
oracle数据库中是有int型的,你在创建表的时候,使用int型报错,可能的原因是你为int型增加了精度,如int(10),或者是你的oracle 版本过低造成的。在oracle中int型与integer型都是number类型的子类型,int是integer 的简写,相当于number(38),是为了兼容ANSI\/ISO和IBM的数据类型 而定义的。它的存储精...

oracle的number 19插入到mysql的int 19报错
可能的原因是你为int型增加了精度或者是你的oracle版本过低造成的。因为在oracle中int型与integer型都是number类型的子类型(int是integer的简写),是为了兼容ANSI\/ISO和IBM的数据类型而定义的,它的存储精度是38位,在创表时最好不要用int型,用int会浪费存储空间,int型列可以定义为number(数字)。如...

oracle我建表时的数据类型是int,为什么插值的时候小数照样能插不报 ...
你的数据类型是整型的,插入小数的时候oracle是不会报错的,而且它还会给你进行四舍五入来进行取整,来保证最后保存到的数为整数。

java Oracle数据库 运行后这句int num=stm.executeUpdate(sql...
你的sql拼写错误了,insert被你写成insers 了

ORACLE的表名最大长度是多少
Oracle数据库表名最大长度支持30个字符。如:create table abcdefghijklmnopqrstuvwxyzabcd --30个字符(id int);可以创建成功。create table abcdefghijklmnopqrstuvwxyzabcde --31个字符(id int);则会报错:

oracle这个sql怎么不对,报“文字格式与字符串不匹配”怎么办?_百度知 ...
一般出现此类问题是将日期型的字段中插入了字符型的数据,导致数据库不可识别而报错。如:有如下test表 123 create table test(id int,begin_date date);现在执行插入语句:1 insert into test values (1,'2015-01-01');则会报错:如果正确插入,则要将字符型数据转成日期型数据:1 insert into ...

Oracle数据库表名支持的最大长度是多少
Oracle数据库表名最大长度支持30个字符。如:create table abcdefghijklmnopqrstuvwxyzabcd --30个字符(id int);可以创建成功。create table abcdefghijklmnopqrstuvwxyzabcde --31个字符(id int);则会报错:

Oracle中创建表 显示表名无效
Oracle创建表显示表名无效,一般是表名使用了Oracle中的关键字。处理方式是将关键字的表名上加双引号。如以下就会报错:如果改成:create table "number"(id int,name varchar2(10));则会创建成功。

oracle 中建表时,属性用int好还是number好 ?
各有优劣,int在oracle中是number类型的子集,在oracle内部定义就是number(38);使用int,直观,和其他语言代码移植方便,但占用数据库空间大;使用number,是可变长度,如属性值最大是9999,可定义为number(4),占用数据库空间小;

数据库中如果int不给值,默认是多少
window环境debug模式下,系统会自动将没有设置初值的变量设置为0xcccccccc;在release模式下,没有赋值的变量其取值不可预知,这取决于该变量对应的内存空间在被分给这个变量之前,这块内存被系统写入了什么数据。 本回答被网友采纳 追逐D心 | 发布于2012-06-21 举报| 评论 0 8 1条折叠回答 ...

相似回答