CASE introuvable lors de l'exécution de l'instruction CASE
Bonjour, je suis en train de tester les procédure et je viens de realiser celle ci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| create or replace procedure RAS
is
cursor cnb is select nb_emprunt from exemplaires;
begin
for vnb in cnb
loop
case
when vnb.nb_emprunt<=10 then update exemplaires set etat='NE';
when vnb.nb_emprunt>10 and vnb.nb_emprunt<=25 then update exemplaires set etat='BO';
when vnb.nb_emprunt>26 and vnb.nb_emprunt<=40 then update exemplaires set etat='MO';
when vnb.nb_emprunt>40 then update exemplaires set etat='MA';
else 0;
end case;
end loop;
end; |
Au moment de l'execution, j'obiens ceci :
Citation:
Connecting to the database oracle.
ORA-06592: CASE introuvable lors de l'exécution de l'instruction CASE
ORA-06512: à "HR.RAS", ligne 7
ORA-06512: à ligne 2
Process exited.
Disconnecting from the database oracle.
Et lorsque regarde l'erreur 06592
Citation:
ORA-06592: CASE not found while executing CASE statement
Cause: A CASE statement must either list all possible cases or have an else clause.
Action: Add all missing cases or an else clause.
http://ora-06592.ora-code.com/
Il faudrait soit indiquer tous les cas possibles dans le cas, soit mettre un else. Bref je ne vois pas ou ils veulent en venir.
Savez pourquoi j'ai une erreur ?
est ce que vous arrivez à executer la procédure ?