Sommaire

Solutions des exercices

Premier exercice

CREATE OR REPLACE FUNCTION CALCUL_AGE_ACTEUR  
(DATE_NAISSANCE IN DATE) RETURN NUMBER  
IS   
AGE_ACTEUR NUMBER(5);  
 
BEGIN  
 
SELECT (SYSDATE - DATE_NAISSANCE)/365 INTO AGE_ACTEUR FROM DUAL;  
RETURN  (AGE_ACTEUR);  
 
EXCEPTION  
  WHEN OTHERS THEN   
    DBMS_OUTPUT.PUT_LINE( ’Le numéro de l erreur est : ’||  
TO_CHAR( SQLCODE )) ;  
    DBMS_OUTPUT.PUT_LINE( ’correspondant à : ’||  
TO_CHAR( SQLERRM )) ;  
END;

Deuxième exercice

CREATE PROCEDURE LISTE_FILM IS  
 
  -- Déclaration du curseur C_FILMS  
 
  CURSOR C_FILMS IS  
  SELECT FILM.TITRE, FILM.DATE_SORTIE,  
         REAL.NOM||’ ’||REAL.PRENOM REALISATEUR, ACTEUR.NOM NOM,  
         ACTEUR.PRENOM PRENOM, ACTEUR.DATE_NAISSANCE,  
         ACTEUR.NB_FILM,STAT.BUDGET, STAT.NB_ENTREE_FRANCE ENTREES,  
         CALCUL_AGE_ACTEUR(ACTEUR.DATE_NAISSANCE)  
  FROM   FILM FILM, REALISATEUR REAL, CASTING CAST,  
         ACTEUR ACTEUR, STATISTIQUE STAT 
  WHERE  
     FILM.IDENT_REALISATEUR = REAL.IDENT_REALISATEUR AND  
     FILM.IDENT_FILM        = CAST.IDENT_FILM AND  
     FILM.IDENT_FILM       ...