Fórum Parâmetros para Stored Procedure #60854
14/09/2009
0
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:
Uso FB 1.5, segue os códigos:
Para executar:
Grato por qualquer ajuda.
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
Curtir tópico
+ 0
Responder
Posts
14/09/2009
Afarias
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+
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+
Responder
Gostei + 0
14/09/2009
Signori
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!
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!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)