Variable de substitution SQL*Plus
Bonjour,
Voilà j'ai un petit souci à exécuter ce code (que j'ai allégé pour faciliter la lecture):
Code:
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.