Bonjour.
J'ai réalisé un petit programme PL/SQL dans le cadre de ma formation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SET SERVEROUTPUT ON;
DECLARE
	Nom Pilote.plnom%TYPE;
	NbVol NUMBER;
BEGIN
	SELECT p.plnom, count(v.nvol) as NbVol
	INTO Nom, NbVol
	FROM pilote p, vol v
	WHERE p.npilote = v.npilote
	AND p.npilote=&var
	group by p.plnom;
	DBMS_OUTPUT.PUT_LINE('Nombre de vols effectués par : '||Nom||' est : '||NbVol);
END;
/
Il a pour objet d'afficher le nom de pilote et le nombre de vols effectués après une saisir par l'utilisateur.
Quand il s'agit d'un pilote qui a déjà effectué des vols, là il n'y a pas de problème, on a un message du genre :
Nombre de vols effectués par : Miranda est : 2
Procédure PL/SQL terminée avec succès.
Par contre, si un pilote n'as pas effectué de vols on a le message d'erreur :
DECLARE
*

ERREUR à la ligne 1 :
ORA-01403: Aucune donnée trouvée
ORA-06512: à ligne 5
Quelqu'un pourrait me dire la raison de l'erreur? comment la contourner ? et comment afficher tout simplement :
Nombre de vols effectués par : Miranda est : 0
Procédure PL/SQL terminée avec succès.
Merci