Bonjour,
Voilà j'ai un petit souci à exécuter ce code (que j'ai allégé pour faciliter la lecture):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 ACCEPT nb PROMPT'Saisir un nombre : ' SET VERIFY OFF DECLARE nbescales number(1) := &nb; mauvaisesaisie exception; BEGIN IF (nb < 8) AND (nb > 1) THEN Mes instruction à executer; ELSE RAISE mauvaisesaisie; END IF; EXCEPTION WHEN mauvaisesaisie THEN DBMS_OUTPUT.PUT_LINE('La saisie doit etre un chiffre compris entre 1 et 8'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('Une erreur s est produite'); END;
Le problème est que je n'arrive pas à faire entrer la saisie dans une variable et la réutiliser ensuite. A chaque fois j'ai le message une erreur s'est produite, ce qui veux dire que le problème ne vient pas de la comparaison mais certainement du typage. J'avais fait un autre mini-programme qui testait un (oui/non) sur un caractère; même problème.
J'ai essayé avec d'autres types, en enlevant le nombre de caractères entre parenthèse, en effectuant le test directement sur &nb ... rien,rien,rien
J'ai cherché des solutions mais là je commence à me taper la tête contre les murs.
Merci par avance du temps que vous consacrerez à mon problème.
Partager