Pular para o conteúdo
  • Este tópico contém 2 respostas, 3 vozes e foi atualizado pela última vez 17 anos, 4 meses atrás por Marcio68Almeida.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #80509
    Anônimo

      Ola amigos..
      tenho um problema

      quero q a exception trate este tipo de erro qdo ocorre, por exemplo..
      Tenho uma FUNCTION para chamar na linha:

      valorRetorno := MEU_ESQUEMA.MINHA_FUNCTION ( par1, par2 );

      Só que pode acontecer de que essa MINHA_FUNCTION não esteja compilada na base..

      Queria q o bloco de EXCEPTION pegasse esse erro para tratamento, mas nao consigo.

      olha soh:

      ….
      [b]
      DECLARE
      valorRetorno varchar2(100);

      BEGIN

      valorRetorno := MEU_ESQUEMA.MINHA_FUNCTION ( par1, par2 );

      EXCEPTION
      WHEN OTHERS THEN
      dbms_output.put_line (‘ ERRO ACONTECEU ! ‘);

      END;
      [/b]

      Mas ele insiste em dar um erro q nem chega no bloco de exception..
      PLS-00302: component ‘MINHA_FUNCTION’ must be declared

      Q coisa.. alguem poderia me ajudar ??[/b]

      #80513
      DanielB
      Participante

        al ser un bloque pl, es dinamico por ende lo compila antes de ejecutar y el error que da es de compilacion y no de ejecucion

        si la ejecucion de la funcion la haces un un
        execute immediate la validacion de a quien llamas la hace en tiempo de ejecucion y ahi el exception capturaria el error

        #80540
        Marcio68Almeida
        Participante

          Consulte a user_objects e veja se a procedure está com status ‘VALID’ e compile antes de executar…
          O problema é que, se duas pessoas acessam ao mesmo tempo as duas tentarão compilar e a bagunça está formada…

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