[firebase-br] Isso já ocorreu com mais alguém?

Gladiston Santana gladiston em vidy.com.br
Seg Mar 7 09:21:57 -03 2016


No meu teste eu uso uma procedure dentro de uma procedure, no exemplo que
não posso enviar é um cursor laço for que faz uso de uma procedure assim
select valor from get_calc(...) a procedure em si resultava o valor certo,
mas depos do armazenamento, fazia o select e o valor tava errado, não tava
errado apenas na precisão dos decimais, mas algo em torno de 3 ~ 4 reais.
Mas tinha que perguntar porque se aconteceu apenas comigo, não pode ser uma
falha do DB, mas se ocorreu com muito mais pessoas, então eu tenho que
rever com cuidado o processo.
[]´s


Em 4 de março de 2016 16:51, Carlos H. Cantu <listas em warmboot.com.br>
escreveu:

> Particularmente, a única situação onde eu vi o Firebird gravar um
> valor "diferente" do que vc mandou é quando se usa os campos baseados
> no IEEE (float, double precision, numeric/decimal no dialeto 1), sendo
> que nesse caso, não é defeito no Firebird, e sim um artefato da
> definição do IEEE, que não garante precisão dos valores armazenados.
>
> Lembrando que em bases convertidas do dialeto 1 para o 3 através do
> gfix, os campos numeric/decimal existentes continuam armazenando os
> valores no formato definido pelo IEEE.
>
> Outra situação, mais rara, é quando vc mistura DML e DDL numa mesma
> transação.
>
> PS: Tem que ficar espero com o IBExpert, pois ele apresenta os valores
> usando "format" do Delphi, o que pode gerar arredondamentos,
> dependendo da máscara definida.
>
>
> []s
> Carlos H. Cantu
> www.FireBase.com.br - www.firebirdnews.org
> www.warmboot.com.br - blog.firebase.com.br
>



Mais detalhes sobre a lista de discussão lista