0% ont trouvé ce document utile (0 vote)
41 vues2 pages

TD PLSQL

Transféré par

z.laflahi9525
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
41 vues2 pages

TD PLSQL

Transféré par

z.laflahi9525
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Filière : DUT Génie Informatique

TD en PL/SQL
Soit le schéma relationnel suivant :
 Client (NC, Nom, Prenom, age, ville)
 Produit (NP, marque, prix, #NC)
Table Client
NC Nom Prenom Age ville
1 Nejjar Ahmed 19 Fès
2 Samah Kawtar 20 Casa
3 Aourir Tarik 34 Settat
4 Ahmadi Adil 40 Rabat
5 jawad Sofia 40 Marrakech
Table Produit

NP Marque Prix NC
13 Lexmark 1200 4
14 Compaq 10000 5
11 Epson 3200 1
12 HP 2300 2
16 HP 2500 3
15 MAC 15000 1
17 MAC 10000 2
18 SUMSUNG 1000 4

1. Ecrire une procédure qui insère le total des achats de chaque client dans une table déjà
crée Table_CA_Client (numeroclient number, total number)
2. Ecrire une fonction qui calcul le total des achats d’un client donnée
3. Ecrire une procédure qui supprime les clients qui n’ont pas réalisé un total
achat>3000dhs
4. Ecrire une fonction qui renvoie le nombre des produits achetés par un client donné (le
numéro du client est entré comme paramètre)
5. Ecrire une procédure qui stocke les noms des clients qui ont acheté au minimum 2
produits, dans un tableau indexé par des entiers
La procédure doit utiliser :
- Un curseur pour parcourir les noms des clients
- Un tableau contenant les noms des clients qu’ont acheté au minimum 2 produits
- Les exceptions pour gérer les erreurs (des données inexistantes, curseur
incorrect,…).
6. Ecrire un package contenant la spécification suivante :
- Une procédure « add-client » pour insérer les informations d’un client
- Une procédure « add_client » pour insérer les informations d’un client sauf la
ville
- Une procédure « get_client » qui affiche les informations d’un client donné
- Une fonction « get_age » qui retourne l’age d’un client donné
- Une procédure « delete_client » qui supprime un client donné
- Une procédure « delete_client » pour supprimer les clients dont l’age est dans la
liste {20,30,40}
7. Implémenter le corps de toutes les spécifications
8. Ecrire un trigger qui permet de lever une exception dans le cas d’une mise à jour
(insertion, modification, suppression) dans la table client durant le mois de Mars, Juin
et septembre. L’exception est levée aussi si l’utilisateur tente de faire une mise à jour
entre 14 :30h et 18h
Ecrire un trigger qui permet de sauvegarder l’historique d’achat des produits achetés par
les numéros clients suivant (1,2,5,8,9)
9. - La table de l’historique nommée « Log-produit »
10. - Le numéro de produit, l’ancien et le nouveau prix, l’ancienne et nouvelle marque
et le numéro de client qui a acheté le produit
11. - L’opération effectuée (modification, suppression ou insertion)
12. La date de l’opération
13. - L’utilisateur qui a effectué cette opération
14.

Vous aimerez peut-être aussi