Alguem sabe que erro é este ?

Firebird

24/03/2004

/* Amigos tudo joia te peço uma ajuda por favor o negocio é o seguinte : tenho a seguinte procedure :



CREATE PROCEDURE NOVA 
(
 DATA_INI DATE,
 DATA_FINAL DATE,
 CODIGO VARCHAR(3)
)
RETURNS
(
 COD_INFRACAO VARCHAR(3),
 DATA DATE,
 DP VARCHAR(10)
)
AS
BEGIN
FOR Select Ocorrencia.Cod_Infracao,Ocorrencia.data,Cad_Log.DP
From Ocorrencia Ocorrencia, Cad_Log Cad_Log
Where  Ocorrencia.Codigo_Rua=Cad_Log.Codigo_Rua AND
      CAD_LOG.DP=´10ºDP´and
      Ocorrencia.Data>= :DATA_INI and
      Ocorrencia.Data<= :DATA_FINAL AND
      Ocorrencia.Cod_Infracao= :CODIGO
     INTO :COD_INFRACAO,:DATA,:DP
   DO
   SUSPEND;
END
 


Perfeita ou seja pega data inicial data final e executa executo da seguinte forma no Interbase



EXECUTE PROCEDURE NOME_PROCEDURE ´01.02.2004´, ´10.02.2004´, ´B04´
              



normal , porem e eu novamente POREEEEMMMMMM me retorna no interbase somente e apenas ((((UMMMMMM ))))) registro sendo que tenho 10 registros , porque ?

*/

Contanto com ajuda T+


Bolomaster

Bolomaster

Curtidas 0

Respostas

Maicon Loffi

Maicon Loffi

24/03/2004

É que a procedure vai correr a sql e sempre parar no ultimo registro, este é o valor que será mostrado pra vc.

Usa uma sql, no sistema.

Select O.Cod_Infracao,O.data,C.DP From Ocorrencia O, Cad_Log C
Where O.Codigo_Rua = C.Codigo_Rua AND
C.DP = ´10ºDP´ and
O.Data between :DATA_INI and :DATA_FINAL AND
O.Cod_Infracao= :CODIGO

Valeu........


GOSTEI 0
Afarias

Afarias

24/03/2004

SELECT * FROM NOME_PROCEDURE (´01.02.2004´, ´10.02.2004´, ´B04´)



T+


GOSTEI 0
POSTAR