ORA-12899: value too large for column (valeur trop grande pour la colonne)
OracleQue 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.
Autres entrées pour ce moteur
- ORA-06550line/column PLS-... PL/SQL compilation error (erreur de compilation PL/SQL)
- ORA-04068existing state of packages has been discarded (l'état existant des packages a été supprimé)
- ORA-01427single-row subquery returns more than one row (une sous-requête mono-ligne renvoie plusieurs lignes)
- ORA-30926unable to get a stable set of rows in the source tables (impossible d'obtenir un ensemble stable de lignes dans les tables source)
- ORA-08103object no longer exists (l'objet n'existe plus)
- ORA-01843not a valid month (mois invalide)
- ORA-14400inserted partition key does not map to any partition (la clé de partition insérée ne correspond à aucune partition)