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

Cursor y Tabla Temporal en MySQL.

Estas en el tema de Cursor y Tabla Temporal en MySQL. en el foro de Mysql en Foros del Web. Buenas tardes, tengo un SP en MySQL donde utilizo un cursor, el cual voy recorriendo y almacenando en una tabla temporal el resultado de una ...
  #1 (permalink)  
Antiguo 17/01/2011, 11:56
 
Fecha de Ingreso: enero-2011
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Cursor y Tabla Temporal en MySQL.

Buenas tardes,
tengo un SP en MySQL donde utilizo un cursor, el cual voy recorriendo y almacenando en una tabla temporal el resultado de una query.

CREATE PROCEDURE proc_para_probar()
BEGIN

-- Declaracion de Variables Locales
DECLARE campo1 SMALLINT(6);
DECLARE campo2 CHAR(1);
DECLARE campo3 DECIMAL(10,0);

DECLARE no_hay_mas_registros INT DEFAULT 0;

DECLARE elCursor CURSOR FOR
SELECT * FROM tabla WHERE fecha BETWEEN '2007-01-01' AND '2011-01-17';

DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_hay_mas_registros = 1;

-- Tabla Temporal
CREATE TEMPORARY TABLE TablaTemporal ( campo1 SMALLINT(6),
campo2 CHAR(1),
campo3 DECIMAL(10,0)
);

-- SE ABRE EL CURSOR
OPEN elCursor;

-- SE VAN TOMANDO LOS DATOS HASTA QUE EL CURSOR LLEGUE AL FINAL
bucle: LOOP

FETCH elCursor INTO campo1, campo2, campo3;

IF (no_hay_mas_registros=1) THEN
LEAVE bucle;
END IF;

-- SE CARGAN LOS DATOS EN LA Tabla Temporal
INSERT TablaTemporal(campo1, campo2, campo3)
VALUES(campo1, campo2, campo3);

END LOOP bucle;

CLOSE elCursor;

SELECT *
FROM TablaTemporal
ORDER BY campo1, campo2, campo3;

END$$

Deseo saber si es posible en MySQL utilizar esta sintaxis ya que no me devuelve ningún dato.

Muchas gracias.

Etiquetas: cursor, temporal, tablas
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 05:07.