Base de donees

952 mots 4 pages
Curseurs: Affichage d’informations

Feuille de TD4 Bases de donn´es relationnelles e langage PL/SQL R.Chiky, Z. Kazi Aoul, M. Manceny
14 avril 2010
Nous rappelons ici le sch´ma de la base de donn´es impl´ment´e en TP: e e e e

Ecrivez un bloc PL/SQL qui permet de connaˆ ıtre les cinq ouvrages les plus emprunt´s. L’utilisateur verra affich´: e e Numero Numero Numero Numero Numero 1: 2: 3: 4: 5: isbn isbn isbn isbn isbn : : : : : 126578753 676809876 987654398 876098790 546782333

1.1

Correction

DECLARE CURSOR couvrages IS SELECT isbn, count(*) AS NombreEmprunts FROM details GROUP BY isbn ORDER BY 2 DESC; vouvrage couvrages%rowtype; i number; BEGIN OPEN couvrages; i:=0; LOOP i:=i+1; EXIT WHEN i>5; FETCH couvrages INTO vouvrage; EXIT WHEN couvrages%notfound; DBMS_OUTPUT.PUT_LINE(’Numero: ’||i||’ isbn:’ || vouvrage.isbn); END LOOP; CLOSE couvrages; END; /

2

Fonctions: Dur´e moyenne e

Figure 1: Sch´ma de la base de donn´es e e A partir de ce sch´ma, r´pondez aux exercices PL/SQL suivants: e e

Ecrivez une fonction dureeMoyenne qui accepte en param`tre un num´ro e e d’ISBN et ´ventuellement un num´ro d’exemplaire et qui retourne, soit la dur´e e e e moyenne d’emprunt de l’ouvrage (seul le num´ro d’ISBN est connu), soit la e dur´e moyenne d’emprunt de l’exemplaire dans le cas o` l’on connait la num´ro e u e d’ISBN et le num´ro d’exemplaire. e

2.1

Correction

CREATE OR REPLACE FUNCTION dureeMoyenne( 1 2

visbn in number, vexemplaire in number default null) RETURN number IS vduree number; BEGIN IF (vexemplaire is null) THEN SELECT AVG(rendule-creele) INTO vduree FROM emprunts, details WHERE emprunts.numero=details.emprunt AND details.isbn=visbn AND rendule is not null; ELSE SELECT AVG(rendule-creele) INTO vduree FROM emprunts, details WHERE emprunts.numero=details.emprunt AND details.isbn=visbn AND details.exemplaire=vexemplaire AND rendule is not null; END IF; RETURN vduree; END; /

WHERE isbn=visbn AND exemplaire=vnumero ; IF

en relation

  • Bases mkg
    841 mots | 4 pages
  • Les bases du perl
    1830 mots | 8 pages
  • Presupposes de base
    1399 mots | 6 pages
  • Base de travail guerlain
    400 mots | 2 pages
  • Base de donnees
    286 mots | 2 pages
  • Base illustrator
    1397 mots | 6 pages
  • Synthèse personnelle des tpe lycée
    737 mots | 3 pages
  • Synthèse Publicité
    519 mots | 3 pages
  • Elec
    999 mots | 4 pages
  • Besoins fondamentaux
    1993 mots | 8 pages
  • Base de donnees
    2341 mots | 10 pages
  • Base de donneé
    7649 mots | 31 pages
  • Besoins fondamentaux
    631 mots | 3 pages
  • Dans quelle mesure peut-on dire que le pib est un indicateur satisfaisant de la richesse créée dans un pays ?
    400 mots | 2 pages
  • Tp sql-basede donnes
    793 mots | 4 pages