[firebase-br] FOR EXECUTE STATEMENT não usa PLAN?
dvdmengarda em hotmail.com
dvdmengarda em hotmail.com
Sex Jun 9 11:19:42 -03 2006
Ok...
Aparentemente conseguí resolver o problema da seguinte forma:
1. Executei a consulta no ibexpert e copiei o PLAN que ele gera para a
consulta;
2. Alterei a SP acrescentando em v_script exatamente o PLAN que o ibexpert
mostrou.
3. Executei a SP e nos 2 casos em que fiz a modificação o problema foi
resolvido.
4. Minha conclusão: O FB não conseguiu determinar o PLAN por falta de
informações na criação da SP, pois ele não valida a string em v_script para
saber qual plan poderia executar. Talvez não seja nada disso, mas...
Valew.
dvd
----- Original Message -----
From: <dvdmengarda em hotmail.com>
To: <lista em firebase.com.br>
Sent: Friday, June 09, 2006 10:09 AM
Subject: [firebase-br] FOR EXECUTE STATEMENT não usa PLAN?
Olá pessoal,
Gostaria de saber se existe alguma restrição no EXECUTE STAMENT no que diz
respeito aos PLAN´s. No IBExpert utilizando minha SP com esse método as
consultas simplesmente travam de tão demoradas que ficam. Fazendo o teste
mudando para um FOR SELECT ele funciona normalmente. Existe um limite para o
tamanho da string para ser executada pelo FOR EXECUTE STAMENT?
FOR EXECUTE STAMENT:
v_script = 'select t.dataemissao, t.numerotitulo, t.parcela, t.codigoorigem,
t.origemtitulo, t.codigocliente, c.contacontabil, t.valorcredito,
t.valorliquidado, t.valorparcela, t.valoracresc, t.valordescontos,
t.valordespesas, t.valorfrete, t.valorjuros, t.valormora, t.valormulta,
t.valorcreditado from ctarec t left join cadcli c on (c.codigo =
t.codigocliente) where (t.dataliquidacao = ''' || :v_data || ''') and
(t.contarecebimento = ' || :v_contacobranca || ') and (t.tipotitulo = ' ||
:v_tipotitulo || ') and (t.tipoliquidacao = 4)';
for execute statement v_script into ....
FOR SELECT:
for select t.dataemissao, t.numerotitulo, t.parcela, t.codigoorigem,
t.origemtitulo, t.codigocliente, c.contacontabil, t.valorcredito,
t.valorliquidado, t.valorparcela, t.valoracresc, t.valordescontos,
t.valordespesas, t.valorfrete, t.valorjuros, t.valormora, t.valormulta,
t.valorcreditado from ctarec t left join cadcli c on (c.codigo =
t.codigocliente) where (t.dataliquidacao = :v_data) and (t.contarecebimento
= :v_contacobranca) and (t.tipotitulo = :v_tipotitulo) and (t.tipoliquidacao
= 4) into ...
Grato.
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista