DBAtlas · Атлас эксплуатации баз данных

ORA-12899: Значение слишком велико для столбца

Oracle

Что это значит?

В символьный столбец/столбец данных записано значение длиннее заданной максимальной длины. Например, 15-символьный текст не помещается в столбец VARCHAR2(10).

Почему возникает?

Ширины столбца недостаточно для данных; в многобайтовом наборе символов (UTF8) число символов превышает лимит в байтах (семантика BYTE); другой набор символов при миграции данных; результат конкатенации становится длиннее.

Как исправить

Расширьте столбец: ALTER TABLE my_table MODIFY (my_column VARCHAR2(100)); Для многобайтового содержимого используйте семантику CHAR: my_column VARCHAR2(100 CHAR). Если длинные значения нужно сократить, усекайте их с помощью SUBSTR. Сообщение об ошибке содержит фактическую и допустимую длину; найдите переполняющую запись с помощью LENGTH/LENGTHB.

Открыть в DBAtlas →

Ещё по этой СУБД