SGBD – TD-TP 3 (PL/SQL)

1/2
100%

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é

SGBD – TD-TP 3 (PL/SQL)

Database Systems (Structured Query Language and Procedural Language/SQL) · notes

Voir tous les documents en bases de données

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é