ops$tkyte%ORA10GR2> create table t ( x integer, y number ) ;
Table created.
ops$tkyte%ORA10GR2> desc t
Name Null? Type
---------------------------------------- -------- ----------------------------
X NUMBER(38)
Y NUMBER
there is no such thing as an 'integer' really, just a synonym for a NUMBER.
<quote src = Expert Oracle Database Architecture>
Non-native Number Types
In addition to the NUMBER, BINARY_FLOAT, and BINARY_DOUBLE types, Oracle syntactically supports the following numeric datatypes:
-----------------------------------------------------------------------
Note When I say 'syntactically supports,' I mean is that a CREATE statement may use these datatypes, but under the covers they are all really the NUMBER type. There are precisely three native numeric formats in Oracle 10g Release 1 and above and only one native numeric format in Oracle9i Release 2 and earlier. The use of any other numeric datatype was always mapped to the native Oracle NUMBER type.
-----------------------------------------------------------------------
*NUMERIC(p,s): Maps exactly to a NUMBER(p,s). If p is not specified, it defaults to 38.
*DECIMAL(p,s) or DEC(p,s): Maps exactly to a NUMBER(p,s). If p is not specified, it defaults to 38.
*INTEGER or INT: Maps exactly to the NUMBER(38) type.
*SMALLINT: Maps exactly to the NUMBER(38) type.
*FLOAT(b): Maps to the NUMBER type.
*DOUBLE PRECISION: Maps to the NUMBER type.
*REAL: Maps to the NUMBER type.
</quote>