SQL Dinamico com mais de 40000 caracter

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
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

Bom dia,

Estou com um problema referente a sql dinamico.

Tenho que retornar um cursor com o resultado dessa query, tentei utilizar
um 'CLOB', mas da erro.

Alguém sabe uma forma para poder executar essa query gigante?

Obrigado pela atenção
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5018
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

Talvez você tenha que executar ela POR PARTES.
Execute primeiro alguns sub-selects grandes e salve em alguma tabela temporária. (preferencialmente aqueles selects GRANDES que retornam poucas linhas).

Depois você faz JOIN desses dados com o seu select principal. É um jeito :-/
Avatar do usuário
fsitja
Rank: OraSauro
Rank: OraSauro
Mensagens: 611
Registrado em: Seg, 19 Jan 2009 4:29 pm
Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

Não tenho idéia de como é sua query, mas se ela é tão grande, ela deve ter MUITA coisa repetida ou que poderia ser reusada.
Eu fatoraria essa query em partes menores, pegando subqueries e colocando-as em views.
Assim você abstrai uma boa parte da complexidade e facilita a manutenção desse monstro. 8)
mykolas@ig.com.br
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Ter, 20 Jan 2009 2:10 pm
Localização: são caetano do sul

Caro Colega,

Para "select" enormes vide como construir funco~es pipeline, são mais agradaveis de programar e de dar manutencao.
Avatar do usuário
fsitja
Rank: OraSauro
Rank: OraSauro
Mensagens: 611
Registrado em: Seg, 19 Jan 2009 4:29 pm
Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

Pipelined functions são mais eficientes para fazer transformações e manipulações paralelizadas sobre dados, se é preciso só de consulta provavelmente só acrescente overhead sem ganho de desempenho.
Responder
  • Informação