Pular para o conteúdo
Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #98579
    Anakim
    Participante

      Estou tentando chamar uma procedure dentro de um function no Oracle 10G, quando tento compilar a function recebo o seguinte erro:


      Erro(9,10): PLS-00103: Encountered the symbol "PROC_SUM" when expecting one of the following: := . ( @ % ; The symbol ":=" was substituted for "PROC_SUM" to continue.

      Desde já agradeço a ajuda de todos!

      #98580
      burga
      Participante

        when expecting one of the following: := . ( @ % ;

        Olhe o comando anterior à chamada da sua procedure, deve estar faltando algum desses caracteres citados no erro… Geralmente é um “;” que passou despercebido.

        Se não for, cole seu código aqui pra gente poder te ajudar melhor.

        #98611
        Rodrigo Mesquita
        Participante

          Anakim,

          Cole o seu código aqui

          #98636
          Anakim
          Participante

            Desculpe a demora, só vi o pedido do código agora.
            Eu tive que refazer a function, porque acabei apagando a mesma, enfim, segue uma function de teste, que segue o mesmo padrão da original que ocasionou o erro.


            CREATE OR REPLACE FUNCTION TEST_FUNC( ID_IN IN NUMBER, NUMBRES_IN IN NUMBER_TABLE) RETURN NUMBER AS
            BEGIN
            CALL SET_QUEUE( ID_IN, NUMBERS_IN );
            RETURN 0;
            END TEST_FUNC;

            #98637
            burga
            Participante

              tira o CALL… Chame a procedure de forma direta:

              CREATE OR REPLACE FUNCTION TEST_FUNC( ID_IN IN NUMBER, NUMBRES_IN IN NUMBER_TABLE) RETURN NUMBER AS
              BEGIN
              SET_QUEUE( ID_IN, NUMBERS_IN );
              RETURN 0;
              END TEST_FUNC;

              #98640
              Anakim
              Participante

                Valeu burga, funcionou!

                Agradeço a ajuda de todos!

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