Parâmetros para Stored Procedure

Firebird

14/09/2009

Bom dia,

Não estou conseguindo passar parâmetros de Data para uma Stored Procedure, tenho uma SQL que consulta e retorna dados durante certo período da datas, esse período passo por parâmetro. Como deve ser o tipo dastas variáveis? já tentei varchar e date, porém não funcionou, acontece o seguinte erro:
Overflow occurred during data type conversion.
conversion error from string "2009-09-11".


Uso FB 1.5, segue os códigos:
CREATE PROCEDURE PCD_LEITURAS_PERIODO (
    data_ini date,
    data_fim date)
returns (
    nome_razao varchar(200),
    id_contrato integer,
    tipo_ctr varchar(100),
    data_prevista date,
    numero_contrato varchar(20),
    data_termino date,
    id_pessoa integer,
    bloqueado char(1),
    feitaleitura char(1),
    id_controle integer)
as
begin
   for
select....
 WHERE 
 (L.DATA_PREVISTA between :data_ini AND :data_fim)
    into :nome_razao, :id_contrato, :tipo_ctr, :data_prevista, :numero_contrato, :data_termino,
         :id_pessoa, :bloqueado, :feitaleitura, :id_controle
    do suspend;
end;


Para executar:
EXECUTE PROCEDURE PCD_LEITURAS_PERIODO(´01.09.2009´, ´15.09.2009´)


Grato por qualquer ajuda.


Signori

Signori

Curtidas 0

Respostas

Afarias

Afarias

14/09/2009

A parte dos parâmetros parece OK. Verifique se o SELECT está certo e se a ordem dos campos BATE corretamente com a lista de parâmetros.

Outra coisa, vc está usando SUSPEND o que torna seu procedimento ´selecionável´ ... assim, deveria estar executando ele da forma:


SELECT * FROM PCD_LEITURAS_PERIODO(´01.09.2009´, ´15.09.2009´);



T+


GOSTEI 0
Signori

Signori

14/09/2009

Obrigado afarias,

Realmente as órdens dos campos não batiam com os parâmetros, era este o problema...

Sim, estava executando desta forma somente para teste...

no mais, funcionou!

Obrigado!


GOSTEI 0
POSTAR