Partie II
Programmation procédurale
284
© Éditions Eyrolles
Exercices
L’objectif de ces exercices est d’écrire des sous-programmes MySQL manipulant des curseurs
et gérant des exceptions sur la base de données Parc informatique.
7.1 Curseur
On désire connaître, pour chaque logiciel installé, le temps (nombre de jours entier décimal) passé
entre l’achat et l’installation. Ce calcul devra renseigner la colonne delai de la table Installer
pour l’instant nulle.
Utiliser une table test.Trace(message VARCHAR(80) (et l’afficher en fin de sous-programme)
pour stocker :
• les incohérences (date d’installation antérieure à la date d’achat, date d’installation ou date d’achat
inconnue) ;
• le nombre entier de jours séparant l’achat de l’installation (utiliser DATEDIFF) ;
• une chaîne simulant un format TIME étendu qui représente le nombre de jours décimal séparant
l’achat de l’installation (par exemple, si le nombre de jours décimal vaut « 14,5 », il faudra construire la chaîne : « 14 j 12:00:00 »).
Écrire la procédure calculTemps pour programmer ce processus. Un exemple de table
test.Trace à produire en sortie :
+------------------------------------------------------------------+
| message
|
+------------------------------------------------------------------+
| Logiciel Oracle 6 sur Poste 2 attente 2924 jour(s).
|
| En format TIME étendu 2924 j 00:00:00
|
| Logiciel Oracle 8 sur Poste 2 attente 1463 jour(s).
|
| …
|
| Logiciel I. I. S. installé sur Poste 7 11 jour(s) avant l'achat! |
| Date d'achat inconnue pour le logiciel SQL*Net sur Poste 2
|
| Logiciel Oracle 6 sur Poste 8 attente 3876 jour(s).
|
| En format TIME étendu 3876 j 10:59:17
|
| …
|
+------------------------------------------------------------------+
7.2 Transaction
Écrire la procédure installLogSeg permettant d’effectuer une installation groupée sur tous les
postes d’un même segment d’un nouveau logiciel. La transaction doit enregistrer dans un premier
temps le nouveau logiciel, puis les différentes installations sur tous les postes du segment de même
type que celui du logiciel acheté. L’installation se fera à la date du jour. Penser à mettre à jour la
colonne delai comme programmé précédemment.
Précédent

- 306/418

Suivant