Как указывало @a_horse_with_no_name, лучше добавить проверочное ограничение, как показано ниже:
alter table TAB
add constraint CHK_NAME_WITHOUT_NUMBER
check (not regexp_like(name,'[0-9]+'));
, конечно, после очистки данных, которые содержат числа.Для достижения этой цели перед DDL
может использоваться следующий оператор DML
:
update tab
set name = regexp_replace(name,'[0-9]+','');