Come dicevamo qualche giorno fa se avessi almeno la versione 10 potresti risolvere agevolmente così
codice:
select * from tabella where
regexp_like(campo, '^[^0-9]+$')
Con la tua versione la soluzione più semplice credo sia questa
codice:
select * from tabella where
length(campo) = length(translate(campo,'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ;,.#?!-0123456789','abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ;,.#?!-'))
In pratica selezioni solo i record nei quali la lunghezza della stringa originale è uguale a quella post eliminazione numeri.
Devi specificare tutti i caratteri ammessi. L'esempio credo sia chiaro.