Not every data type supports the ``++RANGE++`` or scale constraints. Using these constraints on incompatible types results in an ``++PLS-00572: improper constraint form used++`` exception being raised.
== Noncompliant Code Example
----
DECLARE
foo INTEGER RANGE 0 .. 42; -- Non-Compliant - raises PLS-00572 as NUMBER does not support the RANGE constraint
BEGIN
NULL;
END;
/
== Compliant Solution
foo INTEGER; -- Compliant