Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Ayuda con Stored Procedure??

Estas en el tema de Ayuda con Stored Procedure?? en el foro de Mysql en Foros del Web. Saludos a todos Tengo el siguiente problema. Tengo la siguiente tabla llamada recorrido vehiculo Código: ID_RECORRIDO_VEHICULO ID_VEHICULO LONGITUD LATITUD TAG FECHA HORA KILOMETROS_RECORRIDOS ------------------------ -------------- ...
  #1 (permalink)  
Antiguo 09/04/2009, 13:58
 
Fecha de Ingreso: marzo-2008
Ubicación: Zacatecas
Mensajes: 45
Antigüedad: 16 años
Puntos: 1
Ayuda con Stored Procedure??

Saludos a todos

Tengo el siguiente problema.
Tengo la siguiente tabla llamada recorrido vehiculo
Código:
ID_RECORRIDO_VEHICULO     ID_VEHICULO     LONGITUD      LATITUD     TAG     FECHA      HORA         KILOMETROS_RECORRIDOS    
 ------------------------  --------------  ------------  ----------  ------  ---------  -----------  ------------------------ 
 2                         2               -102.6437942  22.7683047  tag1    2009/04/07  08:05:00 AM  0                        
 3                         2               -102.6297142  22.7723965  tag1    2009/04/07  08:10:00 AM  0                        
 4                         2               -102.6222349  22.774792   tag1    2009/04/07  08:15:00 AM  0                        
 5                         2               -102.6135026  22.7754072  tag1    2009/04/07  08:20:00 AM  0                        
 6                         1               -102.6067245  22.7747583  tag1    2009/04/09  08:25:00 AM  0                        
 7                         1               -102.5945086  22.7734048  tag1    2009/04/09  08:30:00 AM  0                        
 8                         1               -102.585904   22.7739324  tag1    2009/04/09  08:35:00 AM  0
Tengo un procedimiento almacenado con la siguiente estructura
Código:
drop procedure IF EXISTS insertDistance;
go
CREATE PROCEDURE insertDistance(IN fecha date)
BEGIN
  DECLARE done INT DEFAULT 0;
  DECLARE id  INTEGER; 
  DECLARE lat double;
  DECLARE lng double;
 
  DECLARE curPuntos CURSOR FOR SELECT ID_RECORRIDO_VEHICULO,LATITUD,LONGITUD FROM recorrido_vehiculo 
  where FECHA=fecha;
  DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
  OPEN curPuntos;
  REPEAT
    FETCH curPuntos INTO id,lat,lng;
    IF NOT done THEN          
       insert into tmp (ID,LATITUD,LONGITUD,FECHA) values (id,lat,lng,fecha);
    END IF;
  UNTIL done END REPEAT;
  CLOSE curPuntos;
END
Es un procedimiento en el que le paso un paramentro de tipo Date, para hacer una consulta por medio de ese campo en un cursor, y en base a ese resultado, pues inserto datos en otra tabla llamada tmp.

El problema es que no me respeta el select del cursor.

Mando llamar el procedimiento de esta forma:

Código:
call insertDistance('2009-04-07')
Segun mi tabla de datos, me deberia de filtrar solo 4 resgistros y me los filtra todos.
La pregunta es, esta mal el select

Código:
 DECLARE curPuntos CURSOR FOR SELECT ID_RECORRIDO_VEHICULO,LATITUD,LONGITUD FROM recorrido_vehiculo 
  where FECHA=fecha;
Con un tipo de datos int o varchar si funciona.Por ejemplo esto si funciona:

Código:
 DECLARE curPuntos CURSOR FOR SELECT ID_RECORRIDO_VEHICULO,LATITUD,LONGITUD FROM recorrido_vehiculo 
  where id_recorrido_vehiculo=2;
Espero que alguien me pueda ayudar, ya perdi mucho tiempo c on este problema.

Saludos
  #2 (permalink)  
Antiguo 13/04/2009, 06:32
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años
Puntos: 2
Respuesta: Ayuda con Stored Procedure??

Hola Itinajero



No será esto??
Cita:
call insertDistance('2009-04-07')
en tu tabla el formato de tu separador de fecha es " / " y en el Call es " - "

A mi me ha pasado, pudiera ser eso a primera vista

Chelodelsur
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:07.