Module : SGBD
TD-TP 3 (PL/SQL)
Exercice 1:
Ecrire un programme PL/SQL permettant dafficher votre catalogue syst me (liste des tables et des vues de votre compte, disponible gr ce la vue syst me TAB(TNAME, TABTYPE)) sous la forme :
Lobjet une\_table est de type TABLE
Lobjet une\_vue est de type VIEW &
Publicité
Exercice 2:
Lentreprise employant les personnes de la table EMP est d localis e des tats-Unis en France. Il est donc n cessaire de convertir leur salaire et leur commission en euros (pour simplifier, on utilisera le taux de conversion : 1 USD = 1,2 ). Tous les employ s voient galement augmenter leur salaire de 25 % apr s conversion.
1. Sous SQL, cr er une nouvelle table vide EMP\_FR de m me structure que EMP. On pourra, par soucis de rapidit , recopier la table EMP dans EMP\_FR pour en obtenir la structure, puis effacer tous les n-uplets de EMP\_FR.
2. Ecrire un programme PL/SQL permettant de recopier tous les n-uplets de la table EMP dans la table EMP\_FR en effectuant au passage les op rations n cessaires sur le salaire et la commission. Traiter le cas o la table EMP est vide comme une exception.
Exercice 3:
Une entreprise r cup re un stock ancien de produits. La base de donn es qui d crit ce stock indique des prix en Francs. Ecrire un programme PL/SQL permettant de construire, partir dune table PRODUIT (NUMPROD, LIBELLE, PU, NUMFOURN), une table PRODUIT2 telle que :
Publicité
1. La d signation des produits soit crite en majuscules ;
2. le prix unitaire en francs des produits soit converti en euros (1 euro=6.559 F). Le prix en euros devra tre entier (arrondir au prix le plus proche).
Cas particuliers traiter
- Si la table PRODUIT est vide, la table PRODUIT2 devra contenir uniquement le n-uplet (0, Pas de produit, NULL, NULL).
- Si un prix de la table produit est NULL, son prix en euros doit tre 0.
Indications :
- Tester si la table PRODUIT est vide. Si ce nest pas le cas, y acc der s quentiellement laide dun curseur, effectuer les transformations sur les champs et stocker le r sultat dans la table PRODUIT2.
- Utiliser les fonctions SQL UPPER, ROUND et NVL.
Publicité