Anchored types, i.e. those specified using either %TYPE
or %ROWTYPE
, cannot be constrained. Trying to do so results in
the exception PLS-00573: cannot constrain scale, precision, or range of an anchored type being raised.
Noncompliant code example
DECLARE
foo DUAL.DUMMY%TYPE(42); -- Non-Compliant - raises PLS-00573
BEGIN
NULL;
END;
/
Compliant solution
DECLARE
foo DUAL.DUMMY%TYPE; -- Compliant
BEGIN
NULL;
END;
/