Erro em Stored Precedure Firebird 1.5
Boa tarde,
estou tentando executar uma procedure que retorne uma linha inicial de um caixa, com o saldo anterior,
em seguida liste o movimento propriamente dito, e por fim retorne uma linha final com os totais.
Apesar de seguir vários exemplos bem definidos,
até consigo criar a procedure, porém na hora
de executá-la, me retorna "Bad Parameter Number".
Detalhes:
Estou criando e (tentando) executá-la no Firebird 1.5, através do componente IBQuery, no Delphi 6.
Abaixo corpo da procedure em questão:
*******************************************************************************
recreate procedure sp_cx( Data Date )
returns ( pData Date, pRecibo Integer, pValor Numeric(18,2) )
As
Declare Saldo_Anterior Numeric(18,2);
Begin
Saldo_Anterior=0;
Select Coalesce(Sum(Coalesce(Total_Recebido,0)),0) From Caixa Where Data_de_Recebimento<:Data Into Saldo_Anterior;
pData = Current_Date;
pRecibo = 0;
pValor = Saldo_Anterior;
Suspend;
For
Select
Data_de_Recebimento, Numero_do_Recibo, Total_Recebido
From Caixa
Where Data_de_Recebimento=:Data
Into pData, pRecibo, pValor
Do
Begin
Suspend;
End
End
**************************************************************************
Nota:
Se eu desabilitar uma das consultas,
seja a primeira ou a segunda,
a procedure executa normalmente.
Agradeço qualquer colaboração.
estou tentando executar uma procedure que retorne uma linha inicial de um caixa, com o saldo anterior,
em seguida liste o movimento propriamente dito, e por fim retorne uma linha final com os totais.
Apesar de seguir vários exemplos bem definidos,
até consigo criar a procedure, porém na hora
de executá-la, me retorna "Bad Parameter Number".
Detalhes:
Estou criando e (tentando) executá-la no Firebird 1.5, através do componente IBQuery, no Delphi 6.
Abaixo corpo da procedure em questão:
*******************************************************************************
recreate procedure sp_cx( Data Date )
returns ( pData Date, pRecibo Integer, pValor Numeric(18,2) )
As
Declare Saldo_Anterior Numeric(18,2);
Begin
Saldo_Anterior=0;
Select Coalesce(Sum(Coalesce(Total_Recebido,0)),0) From Caixa Where Data_de_Recebimento<:Data Into Saldo_Anterior;
pData = Current_Date;
pRecibo = 0;
pValor = Saldo_Anterior;
Suspend;
For
Select
Data_de_Recebimento, Numero_do_Recibo, Total_Recebido
From Caixa
Where Data_de_Recebimento=:Data
Into pData, pRecibo, pValor
Do
Begin
Suspend;
End
End
**************************************************************************
Nota:
Se eu desabilitar uma das consultas,
seja a primeira ou a segunda,
a procedure executa normalmente.
Agradeço qualquer colaboração.
Multiserviços Ltda
Curtidas 0
Respostas
Thiago Irrazabal
09/01/2015
Veja se isso arruma teu erro.
Att,
Thiago Irrazabal de Oliveira.
recreate procedure sp_cx( Data Date ) returns ( pData Date, pRecibo Integer, pValor Numeric(18,2) ) As Declare Saldo_Anterior Numeric(18,2); Begin Saldo_Anterior=0; Select Coalesce(Sum(Coalesce(Total_Recebido,0)),0) From Caixa Where Data_de_Recebimento<:Data Into Saldo_Anterior; pData = Current_Date; pRecibo = 0; pValor = Saldo_Anterior; --Suspend; For Select Data_de_Recebimento, Numero_do_Recibo, Total_Recebido From Caixa Where Data_de_Recebimento=:Data Into pData, pRecibo, pValor Do --Begin Suspend; --End End
Att,
Thiago Irrazabal de Oliveira.
GOSTEI 0