[firebase-br] Problema Estranho com SP

Adilson B. Cápua Jr. juniorcapua em yahoo.com.br
Sex Out 29 00:36:03 -03 2004


PessoALL,
 
    Tenho a seguinte SP no meu banco:
 
CREATE PROCEDURE LANCA_CREDITO (
    VALOR_CREDITO NUMERIC(12,2),
    CODIGO_CLIENTE INTEGER)
AS
begin
   if (exists (Select * from CREDITOS_DISPONIVEIS
       WHERE CODIGO_CLIENTE = :CODIGO_CLIENTE)) then
          begin
           UPDATE CREDITOS_DISPONIVEIS
            Set Valor = Valor + (:VALOR_CREDITO)
            Where CODIGO_CLIENTE = :CODIGO_CLIENTE;
          end
 
       if (not exists (Select * from CREDITOS_DISPONIVEIS
        WHERE CODIGO_CLIENTE = :CODIGO_CLIENTE)) then
          begin
            Insert into CREDITOS_DISPONIVEIS
            (CODIGO_CLIENTE, VALOR)
             values (:CODIGO_CLIENTE, :VALOR_CREDITO);
          end
  suspend;
END
 
 
Porém, quando executo esta SP a partir do meu programa (uso Delphi 7 +
DBExpress)
e passo como parâmetro o código do cliente e um valor (65,67 - por exemplo),
ele
simplesmente grava 65,60 na tabela... É como se a SP truncasse o valor!!!!
Alguém
já viu algo parecido com isso??? Já olhei o código milhões de vezes e,
aparentemente,
tanto a SP quanto no código no Delphi está certo!!!
 
Ah, tô usando o Firebird 1.5
 
[]'s

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.782 / Virus Database: 528 - Release Date: 22/10/2004
 



Mais detalhes sobre a lista de discussão lista