[firebase-br] procedure
Ari Marcondes
ari em pegasus.fmrp.usp.br
Ter Jan 11 12:28:46 -03 2005
Olá pessoal,
estou tento um probleminha em uma procedure, vou colocar uma parte da procedure
e vou explicando o que acontece:
1º Select
Select coalesce(sum(totalPremio),0), coalesce(count(*),1) from ramoAutomovel where idProposta = :idProposta into :totalPremio, :totalItens;
2º Select
begin
select sum((((((coalesce(a.cApolice,0) + coalesce(a.adicFrac,0) + :totalPremio) *
coalesce(a.iof,1))/100) + (coalesce(a.cApolice,0) + coalesce(a.adicFrac,0) +
:totalPremio + coalesce(a.encargos,0) + coalesce(a.agravo,0)) -
coalesce(a.desconto,0)) / :nroParcela))/:totalItens
from proposta a left join ramoAutomovel b on a.idProposta = b.idProposta
and a.idProposta = :idProposta where a.idproposta = :idProposta into :valParcelas;
end
No 1º select estou pegando 2 valores (:totalPremio, :totalItens).
No 2º estou usando a variavel :totalPremio para fazer uma conta e aí que esta gerando
o erro. Depois que fiz essa alteração começou a dar erro.
tentei depurar isso no ibExpert e a única coisa que vi de diferente
foi que o retorno da variavel totalPremio vem 0,00 qdo não tenho valor nela e se
substituo a variavel pelo valor 0,00 dá erro no select. Aí tentei colocar 0 e 0.00
e funcionou das 2 formas. Gostaria de saber o que posso fazer p/ reparar esse problema.
PS: esse erro só acontece qdo o :totalPremio é 0, se tem valor não dá o problema.
PS: todos os valores do 2º select são do tipo decimal e a variavel :totalPremio tb.
Erro gerado:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, char 1.
recalculaParcela.
Transaction rolled back...
[]'s
Ari Marcondes
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.832 / Virus Database: 566 - Release Date: 10/01/2005
Mais detalhes sobre a lista de discussão lista