Les Procédure
Contrairement aux fonctions stockées, les procédures stockées n'ont pas de valeur de retour explicite.
Elles sont principalement utilisées pour effectuer des tâches, des opérations de mise à jour, des requêtes complexes ou des séquences d'instructions SQL.
une procédure permet de :
Elles sont principalement utilisées pour effectuer des tâches, des opérations de mise à jour, des requêtes complexes ou des séquences d'instructions SQL.
- Calculer et afficher des résultats
- Calculer et manipuler les tables:
insert :insérer une ligne
delete :supprimer une ligne
update :Modifier une ligne
drop :Supprimer une table , une fonction...
- ....
Remarque
pour appeler une procédure :call nomProcedure(paramèters)
Exemples
Exemple1
Créer une procédure qui peremet d'afficher la lites des produits d'une marque passée en paramètre
appeler la précédure :
Les paramètres : IN ,OUT
Les paramètres IN et OUT dans une procédure stockée en MySQL sont utilisés pour définir les paramètres d'entrée et de sortie de la procédure.
Exemple 1
Crée une nouvelle procédure stockée nommée "calculer_somme_procedure"
Exemple d'appel de la procédure
Exemple 2
Exemple d'appel de la procédure
Exemple3
- Q Créez une procédure stockée nommée "nombreProduit" qui prend en entrée la marque d'un produit et renvoie le nombre de produits de cette marque.
- Q Comment pouvez-vous créer une procédure stockée nommée "ajouterProduit" qui insère un nouveau produit dans la table "produit" avec des valeurs spécifiées?
- Q Créez une procédure stockée nommée "majPrixMarque" qui met à jour les prix de tous les produits d'une marque donnée.
- Q Comment pouvez-vous créer une procédure stockée nommée "supprimerProduitParID" qui supprime un produit en fonction de son ID?
- Q Pouvez-vous créer une procédure stockée nommée "incrementerQuantite" qui augmente la quantité en stock d'un produit donné?
- Q Créez une procédure stockée nommée "diminuerQuantitePrixEleve" qui diminue la quantité en stock de tous les produits dont le prix est supérieur à 100.
- Q Comment pouvez-vous créer une procédure stockée nommée "augmenterPrixSaufMoinsCher" qui augmente le prix de tous les produits de 5 %, sauf ceux dont le prix est inférieur à 50?
- Q Pouvez-vous créer une procédure stockée nommée "supprimerProduitsSansStock" qui supprime tous les produits dont la quantité en stock est nulle?
- Q Créez une procédure stockée nommée "diminuerQuantitePrixEleve" qui diminue la quantité en stock de tous les produits dont le prix est supérieur à 100.
- Q Comment pouvez-vous créer une procédure stockée nommée "augmenterPrixSaufMoinsCher" qui augmente le prix de tous les produits de 5 %, sauf ceux dont le prix est inférieur à 50?
CALL augmenterPrixSaufMoinsCher();
Exemple2
Afin de réaliser plusieurs examples Veuillez ajouter les tables suivantes en plus la table produit déjà crée:
Client(id,nom,prenom,ville)
vente(#idclient,#idProduit,dateVente,prixVente,quantiteVendue)
vente(#idclient,#idProduit,dateVente,prixVente,quantiteVendue)
-
1 Créer la procédure supprimerProduit(idProduit) permet de supprimer le produit passé en paramètre
-
2 Créer la procédure totaleVente(idProduit) permet d'afficher le totale des vente (QuantiteVendue* prixVente) pour le produit passé en paramètre
-
3 Créer la procédure ProduitEnManqueStock() permet d'afficher la listes des produits qui stock=0
-
4 Créer la procédure ListeClientParMarque(marqueProduit) permet d'afficher la liste des clients qui achètent la marque passée en paramètre
Exemple3
soit le schéma de la base de données relationnelle suivante
joueur(id,nom)
jeux(id,nom,categorie)
partieJouee(id,idJoueur,idJeux,nbreHeure)
jeux(id,nom,categorie)
partieJouee(id,idJoueur,idJeux,nbreHeure)
Créer les procédures suivantes:
- Q.1Créer une procédure qui permet d'obtenir tous les joueurs et leurs jeux associés :
- Q.2 Créer une procédure qui permet d'obtenir les joueurs ayant joué à un jeu spécifique ( passé en paramètre):
- Q.3 Créer une procédure qui permet d'obtenir le nombre d'heures totales jouées par chaque joueur :
- Q.4 Créer une procédure qui permet d'obtenir le nombre d'heures totales jouées par catégorie de jeu :
- Q.5 Créer une procédure qui permet d'obtenir les joueurs ayant joué plus de X heures( passé en paramètre) :
- Q.6 Créer une procédure qui permet d'obtenir la liste des jeux et le nombre d'heures jouées pour chaque jeu :
- Q.7 Créer une procédure qui permet d'obtenir le joueur ayant joué le plus d'heures :
- Q.8 Créer une procédure qui permet d'obtenir le joueur ayant joué le moins d'heures :
- Q.9 Créer une procédure qui permet d'obtenir les jeux auxquels un joueur dont son nom est passé en paramètre a joué :
- Q.10 Créer une procédure qui permet d'obtenir le nombre d'heures jouées pour chaque joueur dans un jeu spécifique(nom passé en paramètre) :