У меня есть следующий сценарий:
cl scr;
variable l number;
begin
select max(length(name)) into :l from goodcustomer;
end;
/
--print :l;
alter table goodcustomer modify name varchar2(:l);
Я пытаюсь изменить атрибут длины имени до максимальной длины имени (17), которая в настоящее время существует в таблице. Приведенный выше код дает мне следующую ошибку в SQL Developer:
Error report -
SQL Error: ORA-00910: specified length too long for its datatype
00910. 00000 - "specified length too long for its datatype"
*Cause: for datatypes CHAR and RAW, the length specified was > 2000;
otherwise, the length specified was > 4000.
*Action: use a shorter length or switch to a datatype permitting a
longer length such as a VARCHAR2, LONG CHAR, or LONG RAW
Что я здесь не так делаю? Разве это не число, которое можно использовать для определения размера varchar2? Любой другой способ добиться того же будет также оценен?