sql >> Databáze >  >> RDS >> Oracle

Nekonzistentní datové typy Oracle Error:očekávaný CHAR má LONG

Váš problém je v tom, že TEXT je typu LONG – ačkoli Oracle tento typ již dávno, velmi dávno zavrhl, stále jej používají ve svých vlastních zobrazeních :-(

Chcete-li převést LONG na (vyhledatelný) CLOB, můžete použít TO_LOB() funkce (viz dokumentace Oracle pro TO_LOB() .

Bohužel to nefunguje pro jednoduchý SELECT prohlášení. Budete muset vytvořit zprostředkující tabulku:

create table search_all_views as 
select  av.owner, av.view_name, to_lob(text) as text_clob
from    ALL_VIEWS av;

Potom můžete hledat pomocí této tabulky:

select * 
from search_all_views
where text_clob like '%rownum%';


  1. Mysql odstraní konkrétní slovo v řetězci odděleném čárkou

  2. Uzavření aktivních připojení pomocí RMySQL

  3. Jak používat typy unsigned int / long s Entity Framework?

  4. Zkombinujte dotazy vnořené smyčky s výsledkem nadřazeného pole - pg-promise