Ayuda con SP
Publicado por GERMAN MARCANO (6 intervenciones) el 19/09/2008 14:45:08
Quiero realizar un conteo vehicular, tengo una tabla donde almaceno la matricula del vehiculo, el periodo de tiempo (intervalos de 15 minutos) y la zona (donde estaba estacionado el vehiculo), entonces quiero contar y acumular las matriculas que aparecen en el periodo 1 y se repiten en los siguientes periodos esto con el fin de verificar cuanto tiempo permanecen estacionados. Tengo este SP a ver si consiguen algun error porq solo me cuenta la primera ocurrencia y luego termina la ejecucion.
ALTER PROCEDURE [dbo].[Conteos_Estacionamiento_5]
AS
DECLARE @PLACA VARCHAR(8)
DECLARE @PLACA_T VARCHAR(8)
DECLARE @PERIODO INT
DECLARE @CUENTA INT
DECLARE REGISTRO CURSOR STATIC FOR
SELECT NRO_PLACA FROM DBO.PLACAS_5 WHERE PERIODO=1
OPEN REGISTRO
FETCH NEXT FROM REGISTRO
INTO @PLACA
SELECT @PLACA
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @PERIODO=PERIODO FROM PLACAS_5 WHERE NRO_PLACA=@PLACA AND PERIODO<>1
WHILE @PERIODO IS NULL
BREAK
BEGIN
SET @CUENTA=@CUENTA+1
END
UPDATE DBO.CUENTA_5 SET
CANTIDAD = @CUENTA WHERE PERIODO = @PERIODO
FETCH NEXT FROM REGISTRO
INTO @PLACA
SET @CUENTA=0
END
CLOSE REGISTRO
DEALLOCATE REGISTRO
Por favor AYUDEN!!!
ALTER PROCEDURE [dbo].[Conteos_Estacionamiento_5]
AS
DECLARE @PLACA VARCHAR(8)
DECLARE @PLACA_T VARCHAR(8)
DECLARE @PERIODO INT
DECLARE @CUENTA INT
DECLARE REGISTRO CURSOR STATIC FOR
SELECT NRO_PLACA FROM DBO.PLACAS_5 WHERE PERIODO=1
OPEN REGISTRO
FETCH NEXT FROM REGISTRO
INTO @PLACA
SELECT @PLACA
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @PERIODO=PERIODO FROM PLACAS_5 WHERE NRO_PLACA=@PLACA AND PERIODO<>1
WHILE @PERIODO IS NULL
BREAK
BEGIN
SET @CUENTA=@CUENTA+1
END
UPDATE DBO.CUENTA_5 SET
CANTIDAD = @CUENTA WHERE PERIODO = @PERIODO
FETCH NEXT FROM REGISTRO
INTO @PLACA
SET @CUENTA=0
END
CLOSE REGISTRO
DEALLOCATE REGISTRO
Por favor AYUDEN!!!
Valora esta pregunta


0