Procedure Não compila...

Firebird

09/05/2007

Criar SP nunca foi meu forte...

alguém pode me ajudar aqui!!! :roll:

CREATE PROCEDURE CHECAFERIADOS (
    wfilial integer,
    wdi date,
    wdf date)
returns (
    wdias integer)
as
begin
  SELECT Cod_Filial, Data FROM FERIADOS
  WHERE feriados.data BETWEEN :wdi AND :wdf and feriados.cod_filial =:wfilial
  into :wdias;
  suspend;
end

na hora de compilar da esse erro:
count of column list and variable list do not match. Dynamic SQL Error. SQL error code = -313. count of column list and variable list do not match.
:x


Paullsoftware

Paullsoftware

Curtidas 0

Respostas

Sremulador

Sremulador

09/05/2007

CREATE PROCEDURE CHECAFERIADOS (
    wfilial integer,
    wdi date,
    wdf date)
returns (
    wdias integer)
as
begin
  SELECT Cod_Filial, Data FROM FERIADOS
  WHERE feriados.data BETWEEN :wdi AND :wdf and feriados.cod_filial =:wfilial
  into wfilial, :wdf;
  suspend;
end


Mas acho aquea ainda falta um campo...


GOSTEI 0
Paullsoftware

Paullsoftware

09/05/2007

Consegui resolver, desculpem eu esqueci de mensionar o propósito da SP que era para contar o total de registros encontrador, então mudei o código e ficou assim:
SET TERM ^ ;

ALTER PROCEDURE CHECAFERIADOS (
    wfilial integer,
    wdi date,
    wdf date)
returns (
    wdias integer)
as
begin
  SELECT count(*) FROM FERIADOS
  WHERE feriados.data BETWEEN :wdi AND :wdf and feriados.cod_filial =:wfilial
  into :wdias;
  suspend;
end
^

SET TERM ; ^

valeu pela anteção e desculpa ai o vacilo!!! :wink:


GOSTEI 0
POSTAR