/**
* 3. Codificar un procedimiento, llamado "incidencias_por_jugador", que indique
* el nombre de cada jugador y el número de incidencias que tiene, en caso de
* que su número de incidencias sea 0 el mensaje debe de decir 'El jugador <nombre> no tiene incidencias'
*/
CREATE OR REPLACE PROCEDURE incidencias_por_jugador IS
-- Cursor que recorrera la tabla jugadores
CURSOR c_jugadores IS
SELECT * FROM jugadores j;
-- Donde almacenaremos el número de incidencias por cada jugador
ln_num_incidencias PLS_INTEGER := 0;
BEGIN
-- Recorremos el cursor
FOR I IN c_jugadores LOOP
-- Por cada jugador contamos su número de incidencias
SELECT COUNT(*)
INTO ln_num_incidencias
FROM incidencias inc
WHERE inc.codjugador = I.codjugador;
-- Si son 0 mostramos un mensaje
IF ln_num_incidencias = 0 THEN
DBMS_OUTPUT.PUT_LINE('El jugador ' || I.nombre || ' no tiene incidencias');
ELSE
DBMS_OUTPUT.PUT_LINE(I.nombre || ': ' || ln_num_incidencias);
END IF;
END LOOP;
END incidencias_por_jugador;
No hay comentarios:
Publicar un comentario