Pages - Menu

Pages

Series Exercice corrigé PL-SQL Exercices Oracle SQL

Objectif : Mettre en œuvre pratiquement vos connaissances en langage PL/SQL d'Oracle.

Exercice 1

2001, il est temps de passer à l’Euro pour l’entreprise de VPC dont la base  de  données CLIENT- COMMANDE-PRODUIT-FOURNISSEUR  sert   dexemple   dans  le  cours.  Écrire  un  programme PL/SQL permettant de construire, à partir de la table PRODUIT, une table PRODUIT2000 telle que :

  • la désignation des produits soit écrite en majuscules ;
  • le prix unitaire en francs des produits soit converti en Euros. Le prix en Euros devra être entier (arrondir au supérieur).

Cas particuliers à traiter :
  • Si la table PRODUIT est vide, la table PRODUIT2000 devra contenir  uniquement le tuple (0,’Pas de produit’, NULL, NULL).
  • Si un prix de la table produit est NULL, son prix en Euros doit être 0.

Indications :
  • Considérer que la structure de la table PRODUIT2000 a déjà été créée.
  • Tester si la table PRODUIT est vide. Si ce nest pas le cas, y accéder séquentiellement à l’aide d’un curseur, effectuer les transformations sur les  champs et stocker le résultat dans la table PRODUIT2000.
  • Utiliser les fonctions SQL*Plus UPPER,  TRUNC et NVL.


Exercice 2

Pour tenter d’établir une corrélation, on souhaite connaître la différence de quanti moyenne entre les commandes successivement enregistrées dans la table COMMANDE de la base de données CLIENT- COMMANDE-PRODUIT-FOURNISSEUR. La table COMMANDE est remplie  de commandes va- luées (c’est-à-dire, pour lesquelles l’attribut QUANTITE n’est pas NULL) ou non. Les commandes non valuées ne sont pas à prendre en compte. Écrire un programme PL/SQL permettant de calculer la diffé- rence de quantité moyenne entre les commandes.

Cas particuliers à traiter :
  • La table COMMANDE contient moins de deux commandes valuées.

Indications :
  • Créer un curseur contenant les quantités de commandes valuées.
  • Lire la première quanti puis, pour toutes les quantités suivantes, cumuler la valeur absolue de quantité courante quantité précédente (fonction ABS). 
  • Afficher le résultat dans une exception à l’aide de la procédure RAISE_APPLICATION_ERROR.  
  • Utiliser l’opérateur de concaténation || et la fonction TO_CHAR.
---------------------------------------------------------------------------
Essayez de réaliser une solution par vous-même. Vous pourrez retrouver la correction de ces exercices ICI.



                    

Aucun commentaire:

Enregistrer un commentaire