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.
Ещё по этой СУБД
- ORA-06550Строка/столбец PLS-...: ошибка компиляции PL/SQL
- ORA-04068Существующее состояние пакетов было сброшено
- ORA-01427Однострочный подзапрос возвращает более одной строки
- ORA-30926Не удаётся получить стабильный набор строк в исходных таблицах
- ORA-08103Объект больше не существует
- ORA-01843Недопустимый месяц
- ORA-14400Вставленный ключ секционирования не соответствует ни одной секции