Do not confuse built-in datatypes and user-defined types with external datatypes.
The datatype of a value associates a fixed set of properties with the value.
These properties cause Oracle to treat values of one datatype differently from values of another. When you create a table or cluster, you must specify a datatype for each of its columns.
When you create a procedure or stored function, you must specify a datatype for each of its arguments.
These datatypes define the domain of values that each column can contain or each argument can have.
For example, columns cannot accept the value February 29 (except for a leap year) or the values 2 or 'SHOE'.
Each value subsequently placed in a column assumes the datatype of the column.
For example, if you insert value after verifying that it translates to a valid date.
Oracle Database provides a number of built-in datatypes as well as several categories for user-defined types that can be used as datatypes.
The syntax of Oracle datatypes appears in the diagrams that follow.
The text of this section is divided into the following sections: A datatype is either scalar or nonscalar.
A scalar type contains an atomic value, whereas a nonscalar (sometimes called a "collection") contains a set of values.