web-dev-qa-db-fra.com

modifier la taille de la colonne dans la table contenant les données

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?

48
Java Geek

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.

42
Bob Jarvis