
Ayuda con Store Procedure y Cursores
Publicado por gabriel (1 intervención) el 22/12/2017 19:15:49
Buen dia grupo, les cuento, vengo del lado de SQL y Mysql en algunas cosas es muy distinto, por ejemplo con el manejo de cursores
Tengo lo siguiente y el problema es que solo me funciona con el primer ciclo, es decir, encuentra el PROJECT_ID=1 pero con luego hace un select y ese select no lo encuentra, me setea finished=1
Como se haria ??
Tengo lo siguiente y el problema es que solo me funciona con el primer ciclo, es decir, encuentra el PROJECT_ID=1 pero con luego hace un select y ese select no lo encuentra, me setea finished=1
Como se haria ??
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
CREATE PROCEDURE `Asignar_Todos_Proyectos`()
BEGIN
DECLARE finished INT DEFAULT 0;
DECLARE v_member_id INT;
DECLARE v_project_id INT;
-- Leo todos los proyectos
DECLARE Projects_cursor CURSOR FOR SELECT id FROM `projects` ;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;
OPEN Projects_cursor ;
BUCLE : LOOP
FETCH Projects_cursor INTO v_project_id;
IF finished = 1 THEN
LEAVE BUCLE;
END IF;
SET v_member_id = NULL ;
SELECT ID INTO v_member_id FROM members WHERE `project_id` = v_project_id ;
IF v_member_id IS NULL THEN
-- INSERT INTO members (user_id,project_id) VALUES (1,v_project_id) ;
END IF ;
END LOOP BUCLE ;
END$$
DELIMITER ;
Valora esta pregunta


0