Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Tipos de dados inconsistentes de erro do Oracle:CHAR esperado ficou LONG


Seu problema é que TEXT é do tipo LONG - embora a Oracle tenha preterido esse tipo há muito, muito tempo, eles ainda o usam em suas próprias visualizações :-(

Para converter um LONG em um CLOB (pesquisável), você pode usar o TO_LOB() função (consulte documentação do Oracle para TO_LOB() .

Infelizmente, isso não funciona para SELECT simples declarações. Você terá que criar uma tabela intermediária:
create table search_all_views as 
select  av.owner, av.view_name, to_lob(text) as text_clob
from    ALL_VIEWS av;

Então, você pode pesquisar usando essa tabela:
select * 
from search_all_views
where text_clob like '%rownum%';