DBAtlas · Atlas de operações de banco de dados

ORA-12899: value too large for column

Oracle

O que significa?

Um valor maior que o comprimento máximo definido foi gravado em uma coluna de caracteres/dados. Por exemplo, um texto de 15 caracteres não cabe em uma coluna VARCHAR2(10).

Por que acontece?

A largura da coluna é insuficiente para os dados; em um character set multibyte (UTF8) o número de caracteres excede o limite em bytes (semântica BYTE); um character set diferente durante a migração de dados; o resultado de uma concatenação ficando mais longo.

Como resolver

Amplie a coluna: ALTER TABLE my_table MODIFY (my_column VARCHAR2(100)); Para conteúdo multibyte, use a semântica CHAR: my_column VARCHAR2(100 CHAR). Se valores longos precisarem ser encurtados, trunque-os com SUBSTR. A mensagem de erro informa o comprimento real e o permitido; encontre o registro que estoura com LENGTH/LENGTHB.

Abrir no DBAtlas →

Mais entradas deste banco