Nous avons fait le TP2 : Procédure stockées TP 2
TP3 :
L’objectif de ce TP est de pouvoir amélioer les procédures stockées (stored procedure en anglais). Pour cela , nous utilisons une base de données qui contient trois tables Personne, Voiture et Voyage . Puis, nous créons des procédures stockées qui permettent des traitements différents.
Selon le besoin, on peut avoir une procédure stockées avec ou sans paramètre d’entrée (ou de sortie).
Vous devez suivez lez questions et proposez votre solution dans la partie des commentaires. Ainsi, votre solution peut être corrigée et améliorer jusqu’à ce que vous pouvez ,vous-meme, trouvez une bonne solution et aussi, vous serez amené à comprendre vos erreurs et donc ne les refaire jamais par la suite.
TP3 : Enoncé
Soit la base de données :
Client(idc,nom, prenom, ville)
Commande(idcmd,#idc,#idp,datecmd,qtitecmd)
Produit(idp,libelle,prixunitaire) ;
- Créer la base avec des jeux de test
- Créer les procédures AjoutClient , AjoutPRoduit et Commander qui permettent d’ajouter une ligne dans les tables client, produit et commande respectivement.
- Utiliser la procedure AjoutClient pour inserer un nouveau client . Peut –on changer l’ordre des paramètres de la procédure lors de son éxecution ? Comment ?
- Créer une procédure qui permet de lister des clients dont le nom commence par une lettre spécifiée par l’utilisateur.
- Créer une procédure qui affiche la liste des commandes effectuées entre deux dates passées en paramètres. En plus si le nombre de commandes est supérieur à 100, afficher ‘Période rouge’. Si le nombre de commande est entre 50 et 100 afficher ‘Période jaune’ sinon afficher ‘Période blanche’
- SP qui stocke dans une nouvelle table temporaire les 5 meilleures commandes
- Créer une procédure stockée qui permet d’afficher pour chaque client , une« observation » avec valeur= ‘client classe A’, ou ‘client classe B’, ‘Classe C’ ou ‘nbre commande <2’ en fonction du nombre de commande qu’il a effectué cette année ( classe A >10, classe B entre 10 et 5, classe C entre 5 et 2 )