Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 7 anos, 10 meses atrás por Avatar photoJosé Laurindo Chiappa.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #108608
    Avatar de Abraão da Silva MeloAbraão da Silva Melo
    Participante

      Bom dia pessoal!!!

      Sou novo no mundo Oracle e estou tendo um problema em uma consulta que eu estou fazendo no banco.

      Dentre os meus campos na tabela, tenho um campo tipo LONG, ele aparece [long…].
      Eu preciso consultar dentro deste campo uma determinada palavra, por exemplo:

      Este champo chama-se DS_PROCEDIMENTO, dentro da tabela CIRURGIA, então estou fazendo o seguinte:

      SELECT *
      FROM CIRURGIA C
      WHERE C.DS_PROCEDIMENTO LIKE ‘%A%’

      Neste caso ele apresenta o erro: ORA-00932 inconsistent datatypes: expected NUMBER got LONG.

      #108610
      Avatar photoJosé Laurindo Chiappa
      Moderador

        Colega, seguinte : primeiro, há *** muitos ANOS atrás *** a Oracle APOSENTOU o datatype LONG, vc NÂO DEVERIA estar usando ele, cfrme a Documentação mesmo (vide https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements001.htm na linha :

        “Do not create tables with LONG columns. Use LOB columns (CLOB, NCLOB, BLOB) instead. LONG columns are supported only for backward compatibility.”
        ) nos Avisa…. Entre outras coisas, isso se deveu às MUITAS limitações do LONG, entre elas essa de não poder se usar LIKE nela….

        O Certo, Correto e Recomendadoseria vc CESSAR IMEDIATEMENTE de usar essa completa porcaria do LONG e migrar pro LOB, mas SE for absolutamente necessário usar LONG (digamos, porque a inhaca da sua tool de desenvolvimento exige isso, digamos) aí vc vai ter que Aplicar algum tipo de work-around , como https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:665224430110 , http://stackoverflow.com/questions/769787/what-is-the-best-way-to-search-the-long-datatype-within-an-oracle-database, http://dbaforums.org/oracle/index.php?showtopic=1164 ou http://www.dba-oracle.com/t_find_within_long_datatype.htm mostram : normalmente é usar PL/SQL ao invés de SQL…

        []s

        Chiappa

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress