Category Archives: PLS Database Error Messages

PLS-01913: instance must be of type ‘string’ or one of its subtypes

oracle

PLS-01913: instance must be of type 'string' or one of its subtypes
Cause: The run-time type of the instance is the not declared type or one of its subtypes. That is, TREAT(supertype AS subtype) fails.
Action: Catch the exception.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-01912: instance must be of type ‘string’

oracle

PLS-01912: instance must be of type 'string'
Cause: The run-time type of the instance is not the declared type. That is, the return value of a user defined constructor is wrong.
Action: Return the correct type.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-01911: associative array key violates its type constraints

oracle

PLS-01911: associative array key violates its type constraints
Cause: The key value of an element being inserted into an associative array violates the key type constraints.
Action: Relax the constraints if the key value is meant to be acceptable. Otherwise, apply a valid key value when inserting an element.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-01910: associative array shape is not consistent with session parameters

oracle

PLS-01910: associative array shape is not consistent with session parameters
Cause: NLS parameters affecting comparison of keys have been altered dynamically. The associative array's index is invalid.
Action: Avoid using associative arrays with string keys in applications which require frequent changes of NLS_COMP or NLS_SORT.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-01909: cannot assign supertype instance to subtype

oracle

PLS-01909: cannot assign supertype instance to subtype
Cause: An attempt was made to assign or copy a supertype instance to a container (destination) that can only hold a subtype instance.
Action: Make sure the runtime type of the source of the assignment or copy is the same type as the destination or is a subtype of the destination type.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-01908: RETURNING INTO buffer too small

oracle

PLS-01908: RETURNING INTO buffer too small
Cause: PL/SQL determined that a server side DML with a RETURNING INTO clause does not use a buffer that is large enough to hold the data being returned.
Action: Increase the size of the RETURNING INTO clause buffer.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-01907: number precision too large

oracle

PLS-01907: number precision too large
Cause: The number begin copied or assigned had too many digits to the left of the decimal and did not fit into its destination. In other words, there is a number precision mismatch. This error may also occur if, for example, an attempt is made to assign a character string to a number, as demonstrated below. 

a varchar2(4); 

b number(1,1); 

a := '10.1'; 

b := a;
Action: First, check explicit number precision value mismatches. If none are found, then consider implicit conversions of other types to numbers, including conversions performed during binds.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-01906: raw variable length too long

oracle

PLS-01906: raw variable length too long
Cause: The length of a raw variable being copied or assigned was too long to fit into its destination.
Action: Make sure the raw variable length is correct.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-01905: character string buffer too small

oracle

PLS-01905: character string buffer too small
Cause: An error was encountered while moving a character string from a source to a destination. This error occurs if, for example, an attempt is made to move a character string of 10 characters into a 1 character buffer. The cause of this error may not always be obvious. For example, the following will result in this error: 

a varchar2(1); 

b number; 

b := 10; 

a := b; 

An error results because an implicit conversion causes the number 10 to become the character string '10', which does not fit in the character buffer of 1 allocated for the variable a.
Action: First, look for character string assignment statements where the buffer size is mismatched. If there are none found, then consider the implicit conversion case illustrated in the example above.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/

PLS-01904: NULL index table key value

oracle

PLS-01904: NULL index table key value
Cause: An attempt was made to index into a PL/SQL index table with a NULL key value.
Action: Make sure key values used to index into PL/SQL index tables are non-NULL.

Back to previous menu

https://support.oracle.com/

http://www.oracle.com/