ORA-12899: value too large for column
OracleWhat does it mean?
A value longer than the defined maximum length was written to a character/data column. For example, a 15-character text does not fit in a VARCHAR2(10) column.
Why does it happen?
The column width is insufficient for the data; in a multibyte character set (UTF8) the character count exceeds the byte limit (BYTE semantics); a different character set during data migration; a concatenation result growing longer.
How to fix it
Widen the column: ALTER TABLE my_table MODIFY (my_column VARCHAR2(100)); For multibyte content use CHAR semantics: my_column VARCHAR2(100 CHAR). If long values must be shortened, truncate them with SUBSTR. The error message gives the actual and allowed length; find the overflowing record with LENGTH/LENGTHB.
More from this engine
- ORA-06550line/column PLS-... PL/SQL compilation error
- ORA-04068existing state of packages has been discarded
- ORA-01427single-row subquery returns more than one row
- ORA-30926unable to get a stable set of rows in the source tables
- ORA-08103object no longer exists
- ORA-01843not a valid month
- ORA-14400inserted partition key does not map to any partition