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.
![](../res/2filmMethode.png)
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
IS
12
MEMBER FUNCTION dureeTournage RETURN integer)
13
IS
14
BEGIN
15
RETURN duree(SELF.debut,SELF.fin);
16
END;
17
END;
18
/
19
20
CREATE TABLE Film AS FilmT (
21
PRIMARY KEY (isan));