ref_cursor e clob

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
zenfra
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 23
Registrado em: Sex, 20 Jul 2007 12:49 pm
Localização: São Paulo - SP

Bom dia,

Estou com um problema no desenvolvimento de uma procedure que deve retornar um cursor como parâmetro output. Esse cursor é aberto a partir de um select dinamico que estoura o limite de tamanho de um long dependendo dos filtros que o usuário fizer. Tentei utilizar então o clob, mas não consigo abri o cursor da mesma forma como consigo com a variavel do tipo long.

open P_curdo for v_sql ;

v_sql é a variavel do tipo clob que contem o sql dinamico, mas não consigo fazer ele funcionar. Quando o script era menor utilizava uma variavel long que permitia, mas agora não sei o que fazer.

Alguém já teve esse tipo de problema?

Obrigado!
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, beleza?

Cara, não sei se é teu caso, mas, poderia fazer um teste.

Tive problemas com um Clob, sendo uma variável PL/SQL (Máximo 32k).

Qual a solução utilizada?

Ao invés de criar a variável PL/SQL como Clob, referenciei um campo de uma tabela do banco de dados, Clob, ou seja:

Ao invés de:

Selecionar tudo

vClob clob;
Referenciei como:

Selecionar tudo

vClob Tabela.campoClob%TYPE;
Faz um teste ai pra ver se funciona.
Uma outra forma, caso não funcione, seria criar 2 ou 3 variáveis PL/SQL do tipo CLOB e utilizá-las, fragmentando a informação.

Qualquer coisa, manda pra gente.
mauricio_mendes
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Ter, 13 Jan 2009 9:05 am
Localização: Porto Alegre

Alguém conseguiu resolver esse problema?

Estou com o mesmo caso, e não conseigo resolver.


Obrigado
Responder
  • Informação
  • Quem está online

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