diff --git a/EXOS/2020nba-q3.sql b/EXOS/2020nba-q3.sql index e6b1e9a..ccf521e 100644 --- a/EXOS/2020nba-q3.sql +++ b/EXOS/2020nba-q3.sql @@ -1,7 +1,7 @@ -@nba-setup.sql; +@2020nba-setup.sql; DROP TABLE tligne ; -CREATE TABLE tligne (ligne varchar2(100)) ; +CREATE TABLE tligne (ligne varchar2(300)) ; set echo off; set verify off; @@ -29,15 +29,17 @@ WHERE id_joueur ='&vidjoueur'; INSERT INTO tligne VALUES ('Le maximum de point du joueur '||'&vidjoueur'||' est '||to_char(dmaxpoint)); ELSE INSERT INTO tligne VALUES('AVEC COUNT : Joueur inconnu'); -end if; SELECT id_joueur INTO didjoueur FROM JOUE WHERE id_joueur ='&vidjoueur'; +END if; EXCEPTION when no_data_found then INSERT INTO tligne VALUES('AVEC EXCEPTION : Joueur n a pas fait de match'); +when too_many_rows then +INSERT INTO tligne VALUES('AVEC EXCEPTION : TOO MANY ROWS'); end ; . / diff --git a/EXOS/Partiel2020.tex b/EXOS/Partiel2020.tex index cc3de37..4b90c64 100644 --- a/EXOS/Partiel2020.tex +++ b/EXOS/Partiel2020.tex @@ -511,9 +511,9 @@ SELECT * FROM TLIGNE; \end{itemize} \begin{SaveVerbatim}{Maxpoints} +@2020nba-setup.sql; DROP TABLE tligne ; -CREATE TABLE tligne (ligne varchar2(100)) ; - +CREATE TABLE tligne (ligne varchar2(300)) ; set echo off; set verify off; set feedback off; variable vidjoueur char(4) @@ -526,28 +526,32 @@ dnbjoueur number; didjoueur char(4); BEGIN -SELECT count(Nom) INTO dnbjoueur FROM JOUEUR WHERE id_joueur ='&vidjoueur'; + +SELECT count(Nom) INTO dnbjoueur FROM JOUEUR +WHERE id_joueur ='&vidjoueur'; if dnbjoueur != 0 then SELECT max(points) INTO dmaxpoint FROM JOUE WHERE id_joueur ='&vidjoueur'; -INSERT INTO tligne VALUES ('Max points de'||'&vidjoueur'||' : '||to_char(dmaxpoint)); +INSERT INTO tligne VALUES ('Le maximum de point du joueur '||'&vidjoueur'||' est '||to_char(dmaxpoint)); ELSE -INSERT INTO tligne VALUES('count detecte numero du joueur pas bon'); -end if; +INSERT INTO tligne VALUES('AVEC COUNT : Joueur inconnu'); -SELECT id_joueur INTO didjoueur FROM JOUEUR +SELECT id_joueur INTO didjoueur FROM JOUE WHERE id_joueur ='&vidjoueur'; +END if; + EXCEPTION when no_data_found then -INSERT INTO tligne VALUES('exception numero du joueur pas bon'); +INSERT INTO tligne VALUES('AVEC EXCEPTION : Joueur n a pas fait de match'); +when too_many_rows then +INSERT INTO tligne VALUES('AVEC EXCEPTION : TOO MANY ROWS'); end ; . / - SELECT * FROM tligne ; set verify on; set feedback on; set echo on; \end{SaveVerbatim}