cursores en mysql
Buenas lista. Tengo un problema con el manejo de cursores en mysql, tengo la versi贸n 5.0.3 y no he podido crear un procedimiento que contenga un cursor. Sera la versi贸n?.
Por favor, alguien que puede ayudarme, estar茅 eternamente agradecida... :)
Gracia
Por favor, alguien que puede ayudarme, estar茅 eternamente agradecida... :)
Gracia
Prueba a adaptar este script a tus necesidades:
CREATE PROCEDURE Prova()
BEGIN DECLARE done INT DEFAULT 0;
DECLARE i INT DEFAULT 0;
DECLARE aux VARCHAR(15);
DECLARE aux1 VARCHAR(254) DEFAULT '';
DECLARE cur1 CURSOR FOR SELECT camp from db_xxx.tabla WHERE condicion;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
open cur1;
REPEAT
FETCH cur1 INTO aux;
IF NOT DONE THEN
IF i=0 THEN
INSERT INTO db_xxx.tabla VALUES( los que sean );
SET i=1;
ELSE
UPDATE db_xxx.tabla SET camp = lo que sea;
END IF;
END IF;
UNTIL done END REPEAT;
close cur1;
END;
CREATE PROCEDURE Prova()
BEGIN DECLARE done INT DEFAULT 0;
DECLARE i INT DEFAULT 0;
DECLARE aux VARCHAR(15);
DECLARE aux1 VARCHAR(254) DEFAULT '';
DECLARE cur1 CURSOR FOR SELECT camp from db_xxx.tabla WHERE condicion;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
open cur1;
REPEAT
FETCH cur1 INTO aux;
IF NOT DONE THEN
IF i=0 THEN
INSERT INTO db_xxx.tabla VALUES( los que sean );
SET i=1;
ELSE
UPDATE db_xxx.tabla SET camp = lo que sea;
END IF;
END IF;
UNTIL done END REPEAT;
close cur1;
END;
