Datatypes are a subject that
confuses many people. There are many types and many sub-types. A type
is a basic datatype like NUMBER. A sub-type is derived from a type. An
INTEGER is a sub-type of NUMBER. A sub-type usually add a constraint to
a type and that creates the new sub-type; for INTEGER, only whole
numbers are allowed.
In 10g, the five numeric types that you
will most commonly use are: NUMBER, PLS_INTEGER, BINARY_INTEGER,
BINARY_FLOAT and BINARY_DOUBLE. You would declare and use any of these
in the same manner, although the BINARY_FLOAT and BINARY_DOUBLE add a
few extra features that I cover below.