[firebase-br] Procedure com decimal (18,18)
Magnun Oliveira
magnunoliveira em gmail.com
Seg Ago 2 09:32:57 -03 2010
Bom dia galera ...
preciso fazer uma procedure, porem com um campo decimal (18,18), e o valor é retornado como null ...
Para a primeira parte da procedure:
EX:
DURABILIDADE = 5500;
COBERTURA_PADRAO = 5;
ALTURA_PAPEL = 29,7;
LARGURA_PAPEL = 21;
RESULTADO -> DURABILIDADE_CM2 = 17151750;
VALOR = 500;
RESULTADO CUSTO_CM2 = 0,000029151544303060;
Porem me retorna null para o CUSTO_CM2, e acredito que esteja se perdendo com a qtde de casas decimais, pois com uma menor qtde ele funcionou .
Alguem sabe como fazer ele aceitar 18 casas ?
Obrigado.
//Código da procedure:
SET TERM ^ ;
RECREATE PROCEDURE PRC_INSUMOS_CM2 (
ID_PRODUTO INTEGER)
AS
DECLARE VARIABLE DURABILIDADE_CM2 DECIMAL(10,2);
DECLARE VARIABLE CUSTO_CM2 DECIMAL(18,18);
BEGIN
select DURABILIDADE * COBERTURA_PADRAO * ALTURA_PAPEL * LARGURA_PAPEL
from PRODUTOS
inner join FORMATOS on FORMATOS.ID_FORMATO = PRODUTOS.ID_FORMATO
where PRODUTOS.ID_PRODUTO = :ID_PRODUTO
into :DURABILIDADE_CM2;
select VALOR / :DURABILIDADE_CM2 from PRODUTOS where ID_PRODUTO = :ID_PRODUTO
into :CUSTO_CM2;
update PRODUTOS set CUSTO_CM2 = :CUSTO_CM2, DURABILIDADE_CM2 = :DURABILIDADE_CM2
where ID_PRODUTO = :ID_PRODUTO;
END^
SET TERM ; ^
MAGNUN OLIVEIRA
magnun em evolutiva.com.br
Fone: (14) 3324-4010
www.evolutiva.com.br
Mais detalhes sobre a lista de discussão lista