日期:2014-05-16  浏览次数:21425 次

oracle如何用number定义字段只能输入整数?
number(5,0)这样怎么不行啊,还是可以接收小数

------解决方案--------------------
看完以下几篇文章,应该有一定的了解了:

Oracle数字的3种基本类型介绍

oracle的number和integer类型 

Oracle number 数据类型对整数的存储

【NUMBER】有关Oracle NUMBER类型定义中precision和scale的测试和总结

------解决方案--------------------
可通过添加check约束来满足你的需求
SQL> create table test(id number check(instr(to_char(id),'.') = 0));


-----------------------------
-------测试如下------------
-----------------------------
SQL> insert into test values(5.1);
insert into test values(5.1)
*
ERROR at line 1:
ORA-02290: check constraint (XIONGWENHUA.SYS_C006977) violated


SQL> select * from test;

        ID
----------
         5

SQL>