tenho uma tabela piloto id_piloto, nome
uma tabela escala com id_voo, aviao, id_piloto
Preciso de um procedimento que utilize cursores que mostre para cada piloto os nomes dos seus aviões.
Assim retorna todos os pilotos e toda a lista de aviao para cada piloto, como coloco uma condição para filtrar os avioes de cada piloto
EX:
Paulo
A1
A2
A3
Joao
A4
A5
A1
CREATE OR REPLACE PROCEDURE pr_cr5 IS
av escala.aviao%type;
id piloto.id_piloto%type;
pi piloto.nome%type;
CURSOR CR1 IS
SELECT piloto.id_piloto, piloto.nome
FROM piloto INNER JOIN escala
ON piloto.id_piloto = escala.id_piloto
GROUP BY piloto.id_piloto, piloto.nome;
CURSOR CR2 IS
SELECT aviao FROM escala;
BEGIN
OPEN CR1;
LOOP
FETCH CR1 INTO id, pi;
EXIT WHEN CR1 %NOTFOUND;
DBMS_OUTPUT.put_line(id||' '||pi);
OPEN CR2;
LOOP
FETCH CR2 INTO av;
EXIT WHEN CR2 %NOTFOUND;
DBMS_OUTPUT.put_line(av);
END LOOP;
CLOSE CR2;
END LOOP;
CLOSE CR2;
END;
/
-- EXECUTE pr_cr5;