DBAtlas · Atlas d'exploitation des bases de données

ORA-12899: value too large for column (valeur trop grande pour la colonne)

Oracle

Que signifie cette erreur ?

Une valeur plus longue que la longueur maximale définie a été écrite dans une colonne de caractères/de données. Par exemple, un texte de 15 caractères ne tient pas dans une colonne VARCHAR2(10).

Cause

La largeur de la colonne est insuffisante pour les données ; dans un jeu de caractères multi-octets (UTF8), le nombre de caractères dépasse la limite en octets (sémantique BYTE) ; jeu de caractères différent lors d'une migration de données ; résultat de concaténation devenant plus long.

Comment la corriger

Élargissez la colonne : ALTER TABLE my_table MODIFY (my_column VARCHAR2(100)); Pour un contenu multi-octets, utilisez la sémantique CHAR : my_column VARCHAR2(100 CHAR). Si les valeurs longues doivent être raccourcies, tronquez-les avec SUBSTR. Le message d'erreur indique la longueur réelle et la longueur autorisée ; trouvez l'enregistrement en dépassement avec LENGTH/LENGTHB.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur