Duplicate possible:
Comment raccourcir un champ varchar2 sous Oracle?
Dans Oracle (9i et plus)
Alter table employee
MODIFY ename varchar2(10);
Je souhaite modifier la colonne ename de la table employee de varchar2 (30) à varchar2 (10)
Cas 1: si la table a des données dont la colonne ename contient des valeurs dont la longueur est inférieure à 10 caractères (je veux dire qu’elle peut s’intégrer facilement dans varchar2 (10)) - Oracle autorise-t-il cela?
Cas 2: si la table a des données ayant une colonne ename contenant des valeurs dont la longueur est supérieure à 10 caractères (je veux dire qu’elle ne peut pas tenir dans varchar2 (10)) - ceci n’est-il pas autorisé par Oracle?
Cas 1: Oui, cela fonctionne bien.
Cas 2: cela échouera avec l'erreur ORA-01441: impossible de réduire la longueur de la colonne car une valeur est trop grande.
Partager et profiter.