Procédures stockées conditionnelles MySQL IF - CASE

Table des matières
SI procédures stockées conditionnelles
Nous allons créer une base de données et un tableau avec les commentaires que les utilisateurs font, il peut s'agir d'articles, de publications ou de tout ce que nous voulons.
CREATE TABLE `commentaires` (
`commentid` int (11) DEFAULT NULL,
`date` date DEFAUT NULL,
`userid` int (50) DEFAUT NULL,
texte "commentaire",
CLÉ PRIMAIRE (`occurrenceid`)
) MOTEUR = MyISAM CHARSET PAR DEFAUT = latin1;
Nous allons créer une procédure stockée qui compte le nombre de commentaires laissés par un utilisateur et renvoie le niveau auquel se trouve cet utilisateur, en prenant comme référence l'exemple.
Expert si vous avez fait plus de 5000 commentaires
Avancée si vous avez commenté entre 4999 et 1000 fois
Modérateur si vous avez commenté entre 999 et 500 fois
Éditeur si vous avez commenté entre 499 et 100 fois
Nous créons la procédure stockée et elle aura deux paramètres, dont l'un sera en entrée l'identifiant ou le numéro de l'utilisateur dont la variable est p_usuario et un autre en sortie qui sera le niveau avec la variable p_level.

Nous expliquons la procédure stockée que nous appelons, nous supposons un userid = 112
APPEL niveau utilisateur (112)
Il sélectionne et compte le nombre de commentaires pour cet utilisateur et le stocke dans la variable total, puis la structure if affectera le niveau à la variable p_level et renverra la valeur.
<? // On prépare une requête depuis php
$ result = $ mysqli-> query ("CALL userlevel (112)");
$ ligne = $ résultat-> fetch_assoc ();
echo 'Niveau :'.$ row ['p_level']; ?> var13 ->

Procédures stockées conditionnelles CASE
L'opération est très similaire à la précédente, sauf que le conditionnel est CASE et dans cet exemple nous obtenons le coût d'expédition ou le supplément selon la localisation d'un client.

Nous supposerons un cityid = 2 et appellerons la procédure stockée p
APPEL frais de port (2)
<? // On prépare une requête depuis php
$ result = $ mysqli-> query ("CALL frais de port (2)");
$ ligne = $ résultat-> fetch_assoc ();
echo 'Surcharge for shipping' $ row ['p_recargo']; ?> var13 ->

Toujours dans les possibilités offertes par les structures conditionnelles, nous pouvons utiliser les structures if ou case pour effectuer plusieurs actions avec une seule procédure stockée
Nous allons créer, par exemple, une procédure stockée pour gérer les produits auxquels en envoyant un paramètre nous pourrons ensuite déterminer quelle action ou tâche nous effectuerons.

Nous pouvons voir que dans la procédure des produits, nous avons un paramètre appelé p_accion, nous attribuons donc si l'action sera d'enregistrer un nouveau produit ou de le modifier dans la base de données
Exemple pour insérer un nouveau produit
<? // On prépare une requête depuis php
$ result = $ mysqli-> query ("CALL products (10, 'Mobile phone', '100,00', 'new')");
echo 'Le produit a été enregistré'; ?> var13 ->

Exemple pour insérer une édition ou modifier un produit
<? // On prépare une requête depuis php
$ result = $ mysqli-> query ("CALL products (10, 'MXC3 mobile phone', '120,00', 'edit')");
echo 'Le produit a été modifié'; ?> var13 ->

Cette méthode est très utile pour regrouper des tâches dites CRUD, c'est-à-dire créer, lire, éditer et supprimer des données et effectuer des mises à jour et des recherches, toutes ordonnées dans un même fichier, facilitant ainsi la maintenance et la possibilité de faire évoluer la base de données si nécessaire. .
De plus, cela permet du point de vue de l'analyse fonctionnelle d'être plus clair sur les règles métier de l'application.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave