Un film vraiment méthodique
Question
Proposer une implémentation SQL3 sous Oracle correspondant au modèle UML. La méthode DureeTournage sera implémentée de façon à retourner un nombre entier de jours.

Indice
On pourra utiliser une fonction duree(debut,fin) qui retourne le nombre de jours entre deux dates.
Indice
On fera un usage explicite de SELF.
Solution
1
CREATE TYPE FilmT AS OBJECT (
2
isan:char(33), 3
titre:varchar2,
4
debut:date,
5
fin:date,
6
MEMBER FUNCTION dureeTournage RETURN integer
7
);
8
/
9
10
CREATE TYPE BODY FilmT
11
IS12
MEMBER FUNCTION dureeTournage RETURN integer)
13
IS14
BEGIN15
RETURN duree(SELF.debut,SELF.fin);16
END;17
END;18
/
19
20
CREATE TABLE Film AS FilmT (
21
PRIMARY KEY (isan));