MySQL - Cursor envenenado :(

 
Vista:
Imágen de perfil de Jose
Val: 10
Ha aumentado su posición en 8 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

Cursor envenenado :(

Publicado por Jose (7 intervenciones) el 27/01/2018 14:59:44
Captura

Hola amigos, bueno aquí os traigo un problema que me lleva comiendo la cabeza toda la santa semana y lo tengo que entregar el lunes y ya tiro la toalla..... (Aunque la gente dirá que nunca se tira, pero es eso o me tiro yo por un puente jajaja)
En la foto adjunta va lo que tiene que hacer el cursor, y no soy capaz de hacerlo :( a ver si vosotros me podéis echar una mano aunque sea al cuello por favor....
Os dejo el código que tengo por ahora aunque no creo que sirva de mucho pero bueno, algo es algo....
Dejo también la BD donde hay que probarlo.

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
DROP PROCEDURE pr_informe;
 
DELIMITER //
	CREATE PROCEDURE pr_mostrar(IN p_nif CHAR(9))
	COMMENT 'Informe de prestamos por NIF'
	BEGIN
 
		DECLARE v_p_nif CHAR(9) DEFAULT 0;
 
        DECLARE v_cont INT DEFAULT 0;
        DECLARE v_eof INT DEFAULT 0;
 
		DECLARE cu_informe CURSOR FOR
			SELECT nif,fecha_prestamo
				FROM prestamos
                WHERE nif=p_nif;
 
		DECLARE CONTINUE HANDLER
		FOR NOT FOUND SET v_eof=1;
 
		OPEN cu_informe;
 
		SET v_eof=0;
		SET v_cont=1;
 
			FETCH cu_informe
				INTO v_p_nif;
 
		WHILE v_eof=0 DO
			BEGIN
 
				IF p_nif=nif THEN
					SELECT v_p_nif AS 'Total de Préstamos';
				ELSE IF p_nif='TODOS' THEN
					SELECT v_p_nif;
				END IF;
				END IF;
 
				FETCH cu_informe
					INTO v_p_nif;
			END ;
		END WHILE;
		CLOSE cu_informe;
	END //
DELIMITER ;
 
 
CALL pr_informe('74381725T');
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder