Problemas no ORA12

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Micael
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Qua, 03 Set 2014 5:33 pm

Olá pessoal!!
Eu estou passando por um problema com o banco de dados ORACLE, estava sendo utilizado o ORA11 e atualizei para a última versão passando de ORA11 para ORA12, porém um SQL que estava sendo utilizado na aplicação simplesmente parou de funcionar, lembrando que este SQL está na aplicação por mais de um ano e só passou a dar problema após a atualização para a última versão do ORACLE, o problema que está ocorrendo é que ele não retorna nenhum valor na consulta e deveria retornar, este mesmo SQL funciona em base ORA11, até porque estava sendo utilizado a mesma base de dados em ORA11 e funcionava perfeitamente após a atualização para o ORA12 passou a não retornar nada, não sei porque isto acontece e gostaria de entender porque esta consulta parou de funcionar com a atualização e se alguém teve algum problema parecido, segue a baixo o SQL que estou utilizando:

Selecionar tudo

Select
  RELAT.CODIGO,
  RELAT.DESCRICAO
FROM
  RELAT,
  PROGR
WHERE
  RELAT.RELATORIO = ‘01’ And
  RELAT.PROGRAMA = PROGR.PROGRAMA And
  ( ( RELAT.TABAUX Is Null ) Or
     Exists (
         Select
            TABA.TABAUX
         From
             TABA
         Where
              RELAT.TABA = TABA.TABA
       )
)  
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Os dados existem corretamente ?

Tenta executar essas queries:

Selecionar tudo

 SELECT * FROM RELAT

Selecionar tudo

 SELECT * FROM PROGR
Se veio dados, executa essa:

Selecionar tudo

Select
  RELAT.CODIGO,
  RELAT.DESCRICAO,
  RELAT.taba
FROM
  RELAT,
  PROGR
WHERE
  RELAT.RELATORIO = ‘01’ And
  RELAT.PROGRAMA = PROGR.PROGRAMA
Se veio dados, pega um valor qualquer do campo TABA e veja se existe na tabela TABA:

Selecionar tudo

select * from taba where taba= _________
Micael
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Qua, 03 Set 2014 5:33 pm

Os dados existem, o problema foi somente a atualização do banco pois voltamos a versão para o ORA11 e funcionou no mesmo cliente, ou seja, no ORA11 retorna corretamente e no ORA12 a mesma coisa, os mesmos dados, o mesmo cliente, não retorna nada.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Então, eu passei um monte de queries pra saber exatamente onde está o problema.

Rodando as primeiras queries. (SELECT * FROM), retorna alguma coisa ?
Rodando a segunda query (com apenas 1 join) retorna alguma coisa ?

Rodando essa query abaixo retorna alguma coisa?

Selecionar tudo

SELECT * FROM RELAT WHERE RELATORIO = '01'
O seu select é extremamente simples. As features usadas neles existem desde o Oracle 1.0 :shock:

Rode essa query:

Selecionar tudo

SELECT * FROM ALL_OBJECTS where OBJECT_NAME in ('TABA', 'RELAT', 'PROGR')
Só pra gente ter certeza que isso não é uma VIEW.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes