Изменить размер столбца в таблице, содержащей данные

Возможный дубликат:
Как сделать поле varchar2 короче в Oracle?

В Oracle (9i и выше)

 Alter table employee  
 MODIFY ename varchar2(10);

Я хочу изменить имя столбца table employee из varchar2 (30) в varchar2 (10)

  • Case1: если в таблице есть данные, имеющие столбец ename, длина которых меньше 10 char (я имею в виду, что он может удобно поместиться в varchar2 (10)) - это разрешено оракулом?

  • Случай 2: если в таблице есть данные, содержащие столбец ename, длина которых больше 10 char (я имею в виду, что он не может поместиться в varchar2 (10)) - это не допускается оракулом?

Ответ 1

Случай 1: Да, это прекрасно работает.

Случай 2: Ошибка с ошибкой ORA-01441: не может уменьшить длину столбца, потому что некоторое значение слишком велико.

Поделитесь и наслаждайтесь.