DBAtlas · Atlas de operaciones de bases de datos

ORA-12899: value too large for column (valor demasiado grande para la columna)

Oracle

¿Qué significa?

Se escribió en una columna de caracteres/datos un valor más largo que la longitud máxima definida. Por ejemplo, un texto de 15 caracteres no cabe en una columna VARCHAR2(10).

¿Por qué ocurre?

El ancho de la columna es insuficiente para los datos; en un conjunto de caracteres multibyte (UTF8) el número de caracteres supera el límite de bytes (semántica BYTE); un conjunto de caracteres distinto durante la migración de datos; el resultado de una concatenación que crece en longitud.

Cómo solucionarlo

Amplíe la columna: ALTER TABLE my_table MODIFY (my_column VARCHAR2(100)); Para contenido multibyte use semántica CHAR: my_column VARCHAR2(100 CHAR). Si hay que acortar valores largos, trúnquelos con SUBSTR. El mensaje de error indica la longitud real y la permitida; encuentre el registro que desborda con LENGTH/LENGTHB.

Abrir en DBAtlas →

Más entradas de este motor