Pular para o conteúdo
  • Este tópico contém 3 respostas, 2 vozes e foi atualizado pela última vez 17 anos, 1 mês atrás por Avatar photoRegis Araujo.
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #85304
    fawcao
    Participante

      Prezados, ver se vocês conseguem me ajudar. Já rodei bastante ai nos fórums da vida, e queria uma solução para o meu pro.

      Seguinte: eu tenho esta procedure, que monta um select dinâmico e executa o mesmo dentro da SP. Sendo que, eu tenho que jogar o retorno desta execução numa variável de cursor types.ref_cursor. Segue abaixo a procedure e o código que to usando p testá-la. Se tiver uma solução, ficarei grato pela ajuda Wink abração.

      TESTE:

      DECLARE
      OPA types.ref_cursor;
      BEGIN
      SP_EMPRESATIPO_SelectWhere('id_empresatipo = 2','NOME',OPA);
      END;


      CREATE OR REPLACE PROCEDURE SP_EMPRESATIPO_SelectWhere (WhereCondition VARCHAR2, OrderByExpression VARCHAR2, cur_EMPRESATIPO OUT types.ref_cursor) IS
      VAR_SQL VARCHAR2(200);
      BEGIN

      VAR_SQL := 'SELECT * FROM EMPRESATIPO WHERE ';

      IF (WhereCondition IS NOT NULL) THEN
      VAR_SQL := VAR_SQL || WhereCondition;
      END IF;

      IF(OrderByExpression IS NOT NULL) THEN
      VAR_SQL := VAR_SQL || ' ORDER BY '|| OrderByExpression;
      END IF;

      EXECUTE IMMEDIATE VAR_SQL;
      dbms_output.put_line(VAR_SQL);

      END SP_EMPRESATIPO_SelectWhere;

      #85305
      Avatar photoRegis Araujo
      Participante

        Ola amigo.. bom dia!

        Seguinte.. vc criou um parametro OUT e não determinou qual será o valor que ele irá retornar…

        Substitua o

        EXECUTE IMMEDIATE VAR_SQL;
        

        POR

          OPEN cur_EMPRESATIPO FOR VAR_SQL;
        

        Ahhhh.. Qual o erro que apresenta quando vc executa ???

        Abraços…

        #85307
        fawcao
        Participante

          Boa!

          eu achei q só abrindo e passando a variável no for do OPEN CURSOR nao pegaria..

          Ta rodando belezinha, valeu cara 😀

          #85308
          Avatar photoRegis Araujo
          Participante

            Opa…

            Ble.. o importante é que está funcionando….

            Fico feliz por ter ajudado…

            Precisando.. é só perguntar que o pessoal do Forum vai auxiliar ao máximo……

            Abraços…

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