BONJOUR
Ce programme effectue une mise à jour dans la base sur un tuple demandé par l'utilisateur. Si le tuple donné n'existe pas dans la base, le programme se bloque et génère une erreur d'exécution.
J'ai voulu traiter cette erreur, j'ai fait plusieurs essais mais je n'arrive pas à le faire. Est ce que vous pouvez m'aider svp
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
20
21
22
23
24
25
26
27
28 PROMPT Donner l'identifiant de l'article Accept id DECLARE rty_article article%rowtype; pum article.pu%type; ex1 exception; PRAGMA EXCEPTION_INIT (ex1, -00904); BEGIN select * into rty_article from article where article.idart = &id; EXCEPTION WHEN ex1 THEN dbms_output.put_line('article non trouvé '); WHEN OTHERs THEN select avg(article.pu) into pum from article where article.pu >= rty_article.pu and article.idart <> rty_article.idart; if pum <= rty_article.pu then rty_article.pu := rty_article.pu +( rty_article.pu * 0.03 ); else rty_article.pu := pum ; end if; UPDATE Article SET pu = rty_article.pu where idart = rty_article.idart; dbms_output.put_line('Identifiant: '|| rty_article.idart ||' Designation: '|| rty_article.desart ||' Prix unistaire: '|| rty_article.pu); END;
Partager